Question

J'ai essayé plusieurs réponses que j'ai trouvé sur le Web, tels que:

Camera.Parameters parameters = mCamera.getParameters();
parameters.set("camera-id", 2);
mCamera.setParameters(parameters);

ou

mMediaRecorder.setVideoSource(2);

Mais cela ne fonctionne pas. J'ai également définir des autorisations sur le fichier manifeste:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

Suis-je manque sur quelque chose? J'ai cherché StackOverflow et je sais que cela a été demandé avant, mais il semble y avoir aucune solution confirmée à ce sujet, tout type d'aide serait appréciée.

Note: J'utilise Galaxy S sur la plate-forme 2.1

Était-ce utile?

La solution

Quoi qu'il en soit, après quelques essais et erreurs, j'ai tout compris comment le faire:

Camera.Parameters parameters = mCamera.getParameters();
parameters.set("camera-id", 2);
parameters.setPreviewSize(640, 480); // or (800,480) this is supported front camera preview size @ Samsung Galaxy S
mCamera.setParameters(parameters);

Ou, si vous avez besoin de l'utiliser avec MediaRecorder:

MediaRecorder mMediaRecorder = new MediaRecorder();
Camera mCamera = Camere.open();
Camera.Parameters parameters = mCamera.getParameters();
parameters.set("camera-id", 2);
parameters.setPreviewSize(640, 480); // or (800,480)
mCamera.setParameters(parameters);
mCamera.unlock(); // unlock, to give other process to access it otherwise it can't be used later
mMediaRecorder.setCamera(mCamera);
// continue with mMediaRecorder standard routines here

Si vous avez besoin d'avoir une plus petite taille de l'aperçu, vous pouvez définir / échelle de votre taille SurfaceView à la place.

Autres conseils

Il est pas une API standard pour les caméras face à la route; vous devrez compter sur ce que (le cas échéant) la documentation du fabricant de matériel a pour utiliser leurs extensions pour accéder à la caméra face à l'avant. Ce sera bien sûr que le travail sur ces dispositifs spécifiques.

Remarque écrire des chaînes premières comme « appareil photo-id » est souvent un bon signe que vous avez erré dans les bois en dehors du SDK officiel. :)

Je pense que cela est aussi bon endroit que tout ajouter quelques détails que j'ai ELABOREE.

Dans le cas où vous utilisez l'appareil photo face avant en mode portrait et le fichier résultant sort découpé en carrés avec des blocs verts jetés essayer inverser la largeur et la hauteur (à la fois aperçu et enregistreur) et le réglage du codeur H263. ..

résolu le problème sur mon Samsung Galaxy S sur 2.3.3 + ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top