Autore Topic: recorder.stop() in android 4.2  (Letto 424 volte)

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
recorder.stop() in android 4.2
« il: 31 Luglio 2013, 18:51:38 CEST »
0
Salve!
Nella mia app devo mostrare a schermo un video.
il tutto funziona perfettamente.. tranne quando l'ap viene testata su un device con android 4.2
appena l'utente preme stop, ll'activity si freeza e dopo una decina di secondi va in crash.
La cosa strana è che non viene sollevata nessuna eccezione (recorder.stop() è dentro un try catch)
Il mio problema è che non posso accedere al log cat, perchè non ho il device con me, e alogcat non funziona più dal 4.1
Ho fatto in modo che l'app scrivesse i "progressi" in un file, ma naturalmente non so come farle stampare gli errori. e si blocca prima di eseguire recorder.stop()

se serve del codice... (Funziona perfettamente nella  4.1)

Codice (Java): [Seleziona]
mCamera.unlock();
    recorder = new MediaRecorder();

    recorder.setCamera(mCamera);
    recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
   recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
   //questo metodo di default restituisce i valori della back camera, altrimenti null
     //CamcorderProfile cpHigh = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);

   CamcorderProfile cpHigh = CamcorderProfile.get(1, CamcorderProfile.QUALITY_HIGH);

    recorder.setProfile(cpHigh);

    recorder.setOutputFile(mediaFile.getAbsolutePath());
     recorder.setMaxDuration(400000);
        try {

        recorder.prepare();
        recorder.start();

        registrando = true;
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        appendLog("Riga 1109 " + e.toString());
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        appendLog("Riga 1113 " + e.toString());
        e.printStackTrace();
    }

il crash avviene qui

Codice (Java): [Seleziona]
try{
                                    appendLog("Rigo 497 stoppo il recorder");
                                 recorder.stop();
                                 }
                                 catch(IllegalStateException e){
                                        e.printStackTrace();
                                         appendLog("Rigo 501 (errore nello stoppare il recorder)" + e.toString());
                                    }
                                catch(Exception f){
                                    f.printStackTrace();
                                     appendLog("Rigo 506 (errore nello stoppare il recorder)" + f.toString());
                                }


Aiutatemi!!