2013-01-03 14 views
5

Sono attualmente in attesa di lavoro AS3 e Flex 4.6 per creare un'applicazione Android. sto utilizzando la fotocamera anteriore e la allego ad un oggetto locale Video che aggiungo come figlio ad un oggetto VideoDisplay.Errore di visualizzazione con fotocamera frontale, video e video display in Adobe AIR (Flex 4.6.0) per Android

Quando eseguo il debug sul mio computer, tutto funziona perfettamente, ma quando costruisco il progetto e lo eseguo sul mio dispositivo Android, il mio display video locale diventa una griglia grigia. Ad esempio, ho scattato una foto del dispositivo. Picture of the problem

Ho scritto questo metodo in base a un post qui su Stackoverflow per inizializzare la fotocamera anteriore e posteriore.

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; 
        } 
       } 
      } 
     } 

E ho scritto questo metodo per creare un oggetto Video, collegare la parte anteriore Camera come la fotocamera di default e aggiungere il Video come un bambino ad un 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 
     } 

ho cercato su Internet per una soluzione, ma finora non sono riuscita a trovarne.

Qualcun altro ha avuto questo problema prima? puoi condividere le tue soluzioni con me? Apprezzo l'aiuto.

Grazie.

+0

Hai incluso le autorizzazioni complete della videocamera nel descrittore della tua app? – user1875642

+0

Sì nella app principale XMl non è commentato in questa riga "" –

+0

Ok, l'ho provato sul mio telefono e ho potuto vedere questo errore, ma poi fermato per apparire. Sembra anche che questa griglia sia il risultato di tre uscite video simultanee. Ho anche visto qualcosa di simile su vecchi display CRT quando ho provato a impostare tutte le possibili modalità con ASM. Quindi, suppongo che potrebbe essere causato da un conflitto con altre app che utilizzano la fotocamera (come la rotazione intelligente) o da una deinitializzazione impropria della telecamera durante le interruzioni delle sessioni di debug o cercando di ricevere input da due telecamere contemporaneamente. Usi le reali risoluzioni della fotocamera del tuo dispositivo? – user1875642

risposta

1

Impostare la modalità rendono al diretta sul application.xml

<renderMode>direct</renderMode> 

Se ancora non funziona, cambiate le impostazioni dpi a 240 della vostra applicazione Flex principale.

Problemi correlati