我目前正在使用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
作为子元素添加到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
}
我一直在互联网上寻找解决方案,但到目前为止,我找不到任何解决方案。
之前有人遇到过这个问题吗?可以和我分享您的解决方案吗?
感谢您的帮助。
谢谢。
最佳答案
在application.xml上将渲染模式设置为直接
<renderMode>direct</renderMode>
如果仍然无法正常工作,请将主flex应用程序的 dpi设置更改为240 。