我目前正在使用 AS3
和 Flex 4.6
创建一个 android 应用程序。
我正在使用前置摄像头并将其附加到本地 Video
对象,该对象作为子对象添加到 VideoDisplay
对象。
当我在我的计算机上调试时,一切都运行良好,但是当我构建项目并在我的 Android 设备上运行它时,我的本地视频显示变成灰色网格。 例如,我拍了一张设备的照片。
我根据 Stackoverflow 上的一篇帖子写了这个方法来初始化前后摄像头。
private function InitCamera():void {
var CamCount:int = ( Camera.isSupported ) ? Camera.names.length : 0;
for( var i:int = 0; i < CamCount; i++ ) {
var cam:Camera = Camera.getCamera( String( i ) );
if( cam ) {
if( cam.position == CameraPosition.FRONT ) {
CamFront = cam;
continue;
}
if( cam.position == CameraPosition.BACK ) {
CamBack = cam;
continue;
}
if( cam.position == CameraPosition.UNKNOWN ) {
CamFront = cam;
continue;
}
}
}
}
我写了这个方法来创建一个 Video
对象,附加前面的 Camera
作为默认相机并添加 Video
作为 child 到 VideoDisplay
:
private function SetUpLocalVideo():void {
Debug( "Setting up local video" );
LocalVideo = new Video( this.LVideo.width, this.LVideo.height );
LocalVideo.attachCamera( CamFront );
LVideo.addChild( LocalVideo ); <--- this is the VideoDisplay
}
我一直在 Internet 上搜索解决方案,但到目前为止我没有找到任何解决方案。
以前有没有人遇到过这个问题?你能和我分享你的解决方案吗? 感谢您的帮助。
谢谢。
最佳答案
在您的 application.xml 上将呈现模式设置为直接
<renderMode>direct</renderMode>
如果仍然不起作用,请将主 flex 应用程序的 dpi 设置更改为 240。
关于android - Android 版 Adobe AIR (Flex 4.6.0) 中前置摄像头、视频和视频显示的显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14140114/