2009-07-02 7 views
4

Je suis en train de capturer de la vidéo et la routine renvoie une exception lorsque l'exécution atteint instruction recorder.prepare():Android: L'appareil photo est pas disponible problème

private void recordVideoStart(){ 
    if(recorder != null) 
    { 
     recorder.stop(); 
     recorder.release(); 
    } 
    File file = new File("/sdcard/videoTest.3gpp"); 
    try { 
     file.createNewFile(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 


    recorder = new MediaRecorder(); 
    recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
    recorder.setOutputFile(file.getAbsolutePath()); 
    recorder.setVideoSize(176, 144); 
    recorder.setVideoFrameRate(15); 
    //recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP); 
    recorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT); 
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
    recorder.setPreviewDisplay(videoPreview.getSurface()); 

    try { 
     recorder.prepare(); 
    } catch (IllegalStateException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    recorder.start(); 
} 

Regarder la LogCat J'ai remarqué la ligne « appareil photo est indisponible".

Est-ce que quelqu'un sait ce qui pourrait être mauvais ici et comment activer la capture vidéo?

Merci!

+0

vous utilisez un émulateur ou un périphérique? – Vinay

+0

J'utilise un appareil (HTC Dream G1) –

Répondre

1

Vous devez régler la caméra sur l'enregistreur.

recorder.setCamera(Camera.open()); 
0

Avez-vous ajouté à AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" /> 
0

Assurez-vous que les autorisations suivantes sont là dans votre manifeste. WRITE_EXTERNAL_STORAGE est nécessaire pour elle d'écrire sur notre carte SD

<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission> 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
     <uses-permission android:name="android.permission.CAMERA"></uses-permission> 
     <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> 
     <uses-feature android:name="android.hardware.camera" /> 
     <uses-feature android:name="android.hardware.camera.autofocus" /> 
Questions connexes