2013-01-03 21 views
5

Jestem w trakcie pracy spróbuj AS3 i Flex 4.6, aby utworzyć aplikację Android. Używam kamery przedniej i dołączam ją do lokalnego obiektu Video, który dodaję jako obiekt podrzędny do obiektu VideoDisplay.Wyświetl błąd z przednim aparatem, wideo i wideo w Adobe AIR (Flex 4.6.0) dla Androida

Kiedy debuguję na moim komputerze, wszystko działa idealnie, ale kiedy buduję projekt i uruchamiam go na moim urządzeniu z Androidem, mój lokalny wyświetlacz wideo staje się szarą siatką. Jako przykład zrobiłem zdjęcie urządzenia. Picture of the problem

Napisałem tę metodę na podstawie postu na Stackoverflow, aby zainicjować kamerę przednią i tylną.

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

i napisałem tę metodę, aby utworzyć obiekt Video przymocować przednią Camera jako domyślnej kamery i dodać Video jako dziecko do 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 
     } 

Szukałem na Internet dla rozwiązania, ale jak dotąd nie udało mi się znaleźć żadnego.

Czy ktoś jeszcze miał ten problem? czy możesz podzielić się ze mną swoimi rozwiązaniami? Doceniam pomoc.

Dzięki.

+0

Czy w swoim deskryptorze aplikacji uwzględniono uprawnienia pełnego aparatu? – user1875642

+0

Tak w głównej aplikacji XMl jest odkomentowany w tym wierszu "" –

+0

OK, próbowałem go na moim telefonie i mogłem zobaczyć ten błąd, ale potem to przestał się pojawiać. Wydaje się również, że ta siatka jest wynikiem trzech jednoczesnych wyjść wideo. Też widziałem coś takiego na starych wyświetlaczach CRT, gdy próbowałem ustawić wszystkie możliwe tryby z ASM. Tak, myślę, że może to być spowodowane konfliktem z innymi aplikacjami wykorzystującymi kamery (np. Inteligentną rotacją) lub niewłaściwą deinicjalizacją kamery podczas przerw w sesji debugowania lub próbą odebrania sygnału z dwóch kamer w tym samym czasie. Czy korzystasz z rzeczywistych rozdzielczości aparatu w swoim urządzeniu? – user1875642

Odpowiedz

1

Ustaw tryb oddać bezpośredniego na application.xml

<renderMode>direct</renderMode> 

Jeśli nadal nie działa, należy zmienić ustawienia dpi do 240 swojej głównej aplikacji Flex.