6 votes

Coulée d'écran/capture d'écran de la vue de la caméra (apparaît en noir)

Pour la démonstration d'une application de réalité augmentée, j'aimerais faire un screencast de l'écran de l'appareil Android (HTC Desire S).

Le projet open source androidscreencast fonctionne bien, sauf pour la vue de la caméra. Les superpositions au-dessus de la caméra apparaissent, mais la vue de la caméra elle-même apparaît en noir. J'ai le même problème avec l'outil ddms fourni avec le SDK Android - je peux capturer l'écran, sauf pour la vue de la caméra qui apparaît en noir.

Voici l'image que j'obtiens en utilisant l'outil ddms si j'essaie de capturer l'écran lorsque l'application normale de la caméra fonctionne : http://twitpic.com/83uztm

Quelqu'un sait-il pourquoi il en est ainsi et comment le contourner ? S'agit-il d'une fonction de sécurité ou d'un bogue ?

Je suis tombé sur quelque chose tout à l'heure qui ressemblait à un code de contournement que quelqu'un avait trouvé, mais je n'ai pas accès au code source sous-jacent de l'application, et j'ai donc besoin d'une méthode sans programmation pour que cela fonctionne.

1voto

Zuul Points 8710

Désolé, sans Root, ce n'est probablement pas possible. Avec la version de l'OS de votre appareil et le fait que vous voulez capturer une superposition (lecture vidéo), encore plus difficile.

Avant Android 3.0, les captures d'écran étaient réalisées à l'aide du framebuffer, auquel on accédait en ouvrant le menu contextuel de l'appareil. /dev/graphics/fb0 dispositif. Cet emplacement nécessite un accès Root, et même avec Root, il peut ne pas fonctionner pour tous les appareils. Certains appareils utilisent une paire de framebuffers et basculent entre eux.

De plus, et plus en rapport avec votre problème actuel, le framebuffer ne contient pas de surfaces dans une superposition (souvent le cas avec la lecture vidéo). C'est la raison pour laquelle vous n'obtenez pas la vidéo, seulement le cadre de l'application.


Informations sur le support par les développeurs sur stackoverflow par diese réponse et diese réponse.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X