5 votes

Bug d'affichage avec la caméra frontale, la vidéo et le VideoDisplay dans Adobe AIR (Flex 4.6.0) pour Android

Je suis en train de travailler sur les esprits AS3 y Flex 4.6 pour créer une application Android. J'utilise la caméra frontale et je l'attache à un fichier local. Video que j'ajoute comme enfant à un VideoDisplay objet.

Lorsque je débogue sur mon ordinateur, tout fonctionne parfaitement, mais lorsque je construis le projet et l'exécute sur mon appareil Android, l'affichage vidéo local devient une grille grise. A titre d'exemple, j'ai pris une photo de l'appareil. Picture of the problem

J'ai écrit cette méthode basée sur un post ici sur Stackoverflow pour initialiser la caméra avant et arrière.

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

Et j'ai écrit cette méthode pour créer un Video l'objet, attachez l'avant Camera comme caméra par défaut et ajoutez l'option Video en tant qu'enfant d'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
        }

J'ai cherché une solution sur Internet, mais je n'en ai pas encore trouvé.

Quelqu'un d'autre a-t-il déjà eu ce problème ? Pouvez-vous me faire part de vos solutions ? Je vous remercie de votre aide.

Merci.

1voto

Shankar Damodaran Points 39934

Définissez le mode de rendu a direct sur votre application.xml

<renderMode>direct</renderMode>

Si cela ne fonctionne toujours pas, modifiez l'option paramètres dpi à 240 de votre application flex principale.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X