Android Appareil photo en mode Portrait sur SurfaceView
J'ai essayé plusieurs choses à essayer d'obtenir l'aperçu de la caméra à afficher en mode portrait sur un SurfaceView
. Rien n'a fonctionné. Je suis en train de tester sur un Droid qui a 2.0.1. J'ai essayé:
1) forcer la mise à portrait par: this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
2) à l'aide de
Camera.Parameters parameters = camera.getParameters();
parameters.set("orientation", "portrait");
parameters.setRotation(90);
camera.setParameters(parameters);
Est-il autre chose que je peux essayer? Si c'est un bogue dans Android, ou le téléphone, comment puis-je m'assurer que c'est le cas, de sorte que j'ai la preuve d'informer le client?
Grâce,
Prasanna
Jetez un oeil - stackoverflow.com/questions/10259299/...
quelqu'un peut-il aider stackoverflow.com/questions/28379130/...
quelqu'un peut-il aider stackoverflow.com/questions/28379130/...
OriginalL'auteur Prasanna | 2010-03-30
Vous devez vous connecter pour publier un commentaire.
Comme de l'API lvl 8, il est disponible:
public final void setDisplayOrientation (int degrés)
c'est à dire avec le portrait dans le manifeste:
Ensemble mCamera.setDisplayOrientation(90); vue de la caméra Ok, Mais le résultat vidéo pas la même Vue de la Caméra , Il pas la rotation de 90. pourquoi?
Hey, vous pouvez utiliser param.setRotation(..) méthode pour cela. Je suis encore à essayer de comprendre comment il fonctionne. C'est génial!
OriginalL'auteur Ed Jellard
j'ai une solution qui fonctionne en mode portrait de travail en 2.1 (testé sur le Désir) peut-être moins.
Activité de l'orientation de l'écran est réglé sur le portrait.
(android:screenOrientation="portrait")
les paramètres de la caméra:
De la caméra.Paramètres p = mCamera.getParameters();
et l'image sera portrait.
SurfaceHolder vous utilisez pour la caméra doit être à une taille compatible avec le téléphone aperçu de la taille
en général la résolution de l'écran.
Drôle sur le Désir 2.2 n'est pas de travail...
Voici le corrigé:
OriginalL'auteur valientinx
Vous pouvez essayer ceci (bon pour la 2.2 ou ci-dessous). Ici, j'ai fait pivoter l'image avant de l'enregistrer sur la carte sd. Mais c'est uniquement pour le mode portrait. Si vous aviez à faire pour la mode, alors vous devez vérifier l'orientation de l'appareil et de mettre la vérifier avant de la capture de l'image.
OriginalL'auteur Mani
Il n'y a aucun moyen de le faire sur de nombreux appareils, y compris le G1 et le Droïde. Prendre un coup d'oeil au rapport de bug ici:
Également voir un commentaire de l'un des Android ingénieurs (Dave) ici:
OriginalL'auteur Roman Nurik
Le lien Romaine a donné de la question thread a une solution que j'utilise maintenant.
Le trouver ici:
http://code.google.com/p/android/issues/detail?id=1193#c26
OriginalL'auteur Brenden
Il n'est pas nécessaire d'avoir à régler les paramètres de l'orientation jusqu'à ce que vous avez besoin de le faire explicitement. Par Défaut, il prend en charge de cette facilité. Dans mon cas, j'ai une Activité et au-dessus de cette activité, j'ai une vue de la caméra, donc je n'ai pas mis n'importe quelle orientation pour les propriétés de la caméra, au lieu de l'activité-je régler l'orientation portrait dans le fichier Manifeste. maintenant, l'application ressemble et fonctionne bien. Peut être utile pour quelqu'un..
Grâce.
OriginalL'auteur Nandagopal T