Autore Topic: Problema nel salvataggio dei parametri della camera  (Letto 920 volte)

Offline n3tmaster

  • Utente junior
  • **
  • Post: 96
  • Respect: 0
    • Google+
    • lerocchi
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4 - Nexus 7 - PadFone JB
  • Sistema operativo:
    Mac OSX 10.7
Problema nel salvataggio dei parametri della camera
« il: 06 Luglio 2012, 12:55:10 CEST »
0
Salve a tutti...
mi sto cimentando nella gestione della camera del dispositivo android..ma ho un problema: al momento in cui chiamo il metodo setParameter il sistema va in eccezione dicendomi che ha fallito il metodo, ma senza darmi grosse spiegazioni.
Il codice che ho usato è molto semplice

Codice (Java): [Seleziona]
public void surfaceChanged(SurfaceHolder holder, int format, int width,
                        int height) {
                if (mPreviewRunning)
            mCamera.stopPreview();
   
                //setto le preferenze
                Camera.Parameters p = mCamera.getParameters();  //prendo le preferenze della camera
                p.setPreviewSize(width, height);
                p.setJpegQuality(80);   // qualità compressione JPEG

                // salvo le pref
                mCamera.setParameters(p);
                try {
                        //lancio la preview
                mCamera.setPreviewDisplay(holder);        
                mCamera.startPreview();
                mPreviewRunning = true;
                } catch (IOException e) {
            //gestione errore
                }

   
               
        }


Ho un dubbio..non è che lui va in errore perché io non gli ho specificato QUALE fotocamera aprire? (ho usato nella onResume il metodo open() ma sinceramente non so come dirgli quale fotocamera usare)

Grazie a tutti per i suggerimenti!
Leandro Rocchi
Software Developer - Geodatabase Designer

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline n3tmaster

  • Utente junior
  • **
  • Post: 96
  • Respect: 0
    • Google+
    • lerocchi
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4 - Nexus 7 - PadFone JB
  • Sistema operativo:
    Mac OSX 10.7
Re:Problema nel salvataggio dei parametri della camera
« Risposta #2 il: 06 Luglio 2012, 14:42:11 CEST »
0
hai ragione, scusa

Codice (Java): [Seleziona]
07-06 12:51:52.925: E/AndroidRuntime(5367): FATAL EXCEPTION: main
07-06 12:51:52.925: E/AndroidRuntime(5367): java.lang.RuntimeException: setParameters failed
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.hardware.Camera.native_setParameters(Native Method)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.hardware.Camera.setParameters(Camera.java:1423)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at it.lr.GroupTravellerManager.CameraMng.surfaceChanged(CameraMng.java:91)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.view.SurfaceView.updateWindow(SurfaceView.java:544)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.view.SurfaceView.access$000(SurfaceView.java:81)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:169)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:590)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1617)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.os.Looper.loop(Looper.java:137)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at android.app.ActivityThread.main(ActivityThread.java:4575)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at java.lang.reflect.Method.invokeNative(Native Method)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at java.lang.reflect.Method.invoke(Method.java:511)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
07-06 12:51:52.925: E/AndroidRuntime(5367):     at dalvik.system.NativeStart.main(Native Method)
Leandro Rocchi
Software Developer - Geodatabase Designer

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Problema nel salvataggio dei parametri della camera
« Risposta #3 il: 06 Luglio 2012, 15:30:09 CEST »
0
Potresti postare anche il codice dove inizializzi la Camera? Immagino tu lo faccia nella callback surfaceCreated.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline n3tmaster

  • Utente junior
  • **
  • Post: 96
  • Respect: 0
    • Google+
    • lerocchi
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4 - Nexus 7 - PadFone JB
  • Sistema operativo:
    Mac OSX 10.7
Re:Problema nel salvataggio dei parametri della camera
« Risposta #4 il: 06 Luglio 2012, 15:41:08 CEST »
0
No quel codice l'ho messo nella surfaceChanged, nella surfaceCreated faccio la Camera.open();

questo è il codice completo nella surfaceChanged

Codice (Java): [Seleziona]
        if (mPreviewRunning)
            mCamera.stopPreview();
   
                //setto le preferenze
                Camera.Parameters p = mCamera.getParameters();  //prendo le preferenze della camera
                 p.setPreviewSize(width, height);  //Questo da eccezione!!!
                p.setJpegQuality(80);   // qualità compressione JPEG

                // salvo le pref
                mCamera.setParameters(p);
                try {
                        //lancio la preview
                mCamera.setPreviewDisplay(holder);        
                mCamera.startPreview();
                mPreviewRunning = true;
                } catch (IOException e) {
            //gestione errore
                }

come ho scritto nei commenti, quello che mi schianta è se modifico la perviewSize, se evito di settarla (e mi limito a settare la jpegquality) tutto funziona correttamente
Leandro Rocchi
Software Developer - Geodatabase Designer

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Problema nel salvataggio dei parametri della camera
« Risposta #5 il: 06 Luglio 2012, 15:55:50 CEST »
0
Prova a mettere il:

Codice (Java): [Seleziona]
mCamera.setPreviewDisplay(holder);  
prima di settare i parametri.

In ogni caso credo che il problema sia dovuto alle dimensioni che passi nel setPreviewSize. Prova a verificare le dimensioni supportate dalla Camera con p.getPreviewSize(), e prova a vedere se quello che passi con width e heigh vanno bene.
« Ultima modifica: 06 Luglio 2012, 16:06:11 CEST da denper »
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial