2013-01-03 67 views
5

我目前工作的智慧AS3Flex 4.6創建一個android應用程序。 我使用前置攝像頭並將其附加到本地Video對象,我將其作爲子對象添加到VideoDisplay對象。Adob​​e AIR(Flex 4.6.0)中的前置攝像頭,視頻和視頻顯示器的顯示錯誤

當我在我的電腦上進行調試時,一切正常,但是當我構建項目並在Android設備上運行它時,我的本地視頻顯示變爲灰色網格。 例如我拍了一張設備的照片。 Picture of the problem

我在這裏寫了一個基於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作爲默認的攝像頭,併爲孩子添加VideoVideoDisplay

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 
     } 

我一直在尋找的互聯網的解決方案,但到目前爲止我沒有找到任何。

以前有沒有其他人有過這個問題?你能和我分享你的解決方案嗎? 我很感激幫助。

謝謝。

+0

您是否將完整的相機權限添加到您的應用程序描述符中? – user1875642

+0

在主應用程序中是的XMl取消註釋此行「<使用權限android:name =」android.permission.CAMERA「/>」 –

+0

好吧,我在我的手機上試過了,我可以看到這個錯誤,但隨後它停下來出現。這個網格似乎也是三個同時視頻輸出的結果。當我嘗試使用asm設置所有可能的模式時,我也在舊crt顯示器上看到類似的東西。所以,我猜想可能是由於與其他使用相機的應用程序(如智能旋轉)發生衝突,或者在調試會話中斷期間通過不正確的相機取消初始化或試圖同時接收來自兩個相機的輸入而導致的。你使用設備的真實相機分辨率? – user1875642

回答

1

設置渲染模式直接您的application.xml

<renderMode>direct</renderMode> 

如果仍然無法正常工作,改變DPI設置到主Flex應用程序的240

相關問題