2010-06-01 5 views
6

la caméra de l'émulateur a bien fonctionné pour prendre des photos dans 2.1 Eclair. Ce qui n'a pas fonctionné était l'enregistrement de vidéos, évidemment.
Maintenant, l'exécution d'une application qui fonctionne simplement sans problème sur 2.1 Emulator provoque le crash de l'application de la caméra. Je lance une intention de le lancer:Caméra intégrée de l'application Emulator buggy dans Froyo/2.2?

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(TEMP_PHOTO_FILE))); 
startActivityForResult(intent, REQUEST_CAMERA); 

Cela démarre l'application de la caméra, mais après quelques secondes, il se bloque. La sortie est:

06-01 09:57:15.593: DEBUG/libEGL(5212): egl.cfg not found, using default config 
06-01 09:57:15.593: DEBUG/libEGL(5212): loaded /system/lib/egl/libGLES_android.so 
06-01 09:57:15.733: ERROR/AndroidRuntime(5212): FATAL EXCEPTION: GLThread 11 
06-01 09:57:15.733: ERROR/AndroidRuntime(5212): java.lang.IllegalArgumentException: No configs match configSpec 
06-01 09:57:15.733: ERROR/AndroidRuntime(5212):  at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:760) 
06-01 09:57:15.733: ERROR/AndroidRuntime(5212):  at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:916) 
06-01 09:57:15.733: ERROR/AndroidRuntime(5212):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1246) 
06-01 09:57:15.733: ERROR/AndroidRuntime(5212):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1116) 

En fait, je voulais juste voir si le bug qui vous fait recevoir une petite image de la caméra, même si EXTRA_OUTPUT a été spécifié a été corrigé dans FroYo. Malheureusement, je ne parviens même pas à le tester.
Est-ce que quelqu'un rencontre des problèmes similaires?

Merci,
Steff

Répondre

3

Il semble qu'il ya un mistmatch entre la EGLConfig la caméra demande et les EGLConfigs actuellement pris en charge par le s/w interpréteurGL qui vient dans Froyo. Voyez si vous pouvez demander une configuration EGL RGB565.

En outre, les changements ci-dessous ont fonctionné pour moi. Il supprime essentiellement le tampon Stencil de l'EGLConfig car cette configuration semble ne pas être prise en charge du tout dans le moteur de rendu GL de Froyo. Ajoutez la configuration d'origine si vous testez sur de vrais appareils tels que le Droid.

diff --git a/src/com/Applications/appareil photo/ui/GLRootView.java b/src/com/Applications/appareil photo/ui/GLRootView.java
index d8ae0f8..545c66a

--- a/src/com/android/camera/ui/GLRootView.java 
+++ b/src/com/android/camera/ui/GLRootView.java 
@@ -174,7 +174,8 @@ public class GLRootView extends GLSurfaceView 

    private void initialize() { 
     mFlags |= FLAG_INITIALIZED; 
-  setEGLConfigChooser(8, 8, 8, 8, 0, 4); 
+  setEGLConfigChooser(8, 8, 8, 8, 0, 0); 
     getHolder().setFormat(PixelFormat.TRANSLUCENT); 
     setZOrderOnTop(true); 
+0

merci, je vais regarder dans ce quand je trouve un peu de temps. – stfn

+0

A travaillé pour moi. Merci! –

+0

Où puis-je trouver cette trouvaille? Où est situé "a/src/..."? Impossible de le trouver dans le dossier Eclipse, SDK ou Workspace. Google liens à ce sujet et plusieurs autres personnes ne trouvant pas ce fichier non plus. –