2009-07-02 4 views
4
내가 비디오를 캡처하려고

하지 않고 실행이 recorder.prepare() 문에 도달 할 때 루틴은 예외가 발생합니다 :안드로이드 : 카메라는 문제

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

"카메라는 내가 선을 눈치 로그 캣을 찾고 사용 불가".

여기에 무엇이 잘못되었거나 비디오 캡처를 활성화하는 방법을 아는 사람이 있습니까?

감사합니다.

+0

에 기록 할 WRITE_EXTERNAL_STORAGE이 필요합니까? – Vinay

+0

기기 (HTC Dream G1)를 사용하고 있습니다. –

답변

1

카메라를 레코더에 설정해야합니다.

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

은 당신의 AndroidManifest.xml에 추가 :

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

하면 다음과 같은 권한을 매니페스트에가 있는지 확인합니다. 당신이 에뮬레이터 또는 장치를 사용하는 우리의 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" />