Android: A câmera não está disponível problema

votos
4

Eu estou tentando capturar vídeo ea rotina lança uma exceção quando a execução atinge recorder.prepare declaração ():

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();
}

Olhando para a LogCat notei a linha Câmera não está disponível.

Alguém sabe o que poderia estar errado aqui e como habilitar a captura de vídeo?

Obrigado!

Publicado 02/07/2009 em 15:37
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

Você precisa definir a uma câmera para o gravador.

recorder.setCamera(Camera.open());
Respondeu 27/07/2009 em 15:25
fonte usuário

votos
0

Certifique-se as seguintes permissões estão lá em seu manifesto. WRITE_EXTERNAL_STORAGEé necessário para que a escrever para o nosso cartão 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" />
Respondeu 12/07/2010 em 09:07
fonte usuário

votos
0

você adicionou em AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />
Respondeu 15/01/2010 em 10:05
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more