我目前正在使用AS3Flex 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

10-04 17:46