2010-06-17 39 views
1

我嘗試使用MediaRecorder類來錄製視頻,但我得到一個異常:無法獲取相機參數。準備失敗。android錄像機異常

這裏是我的代碼:

 camera = Camera.open(); 
     recorder = new MediaRecorder(); 
     recorder.setCamera(camera); 
     recorder.setVideoSource(VideoSource.CAMERA); 
     recorder.setPreviewDisplay(m_holder.getSurface()); 
     recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
     recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
     recorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT); 
     recorder.setMaxDuration(10000); 
     recorder.setOutputFile(file.getPath()); 
     recorder.prepare(); 

任何想法?

回答

0

我注意到您沒有包含setAudioSource或setFrameRate - 有時MediaRecorder會挑剔這些設置。

此外,我通常看到其他項目之前設置的previewDisplay。

你有這個logcat轉儲嗎?僅供參考,我注意到讓視頻與某些設備一起工作是棘手的 - MediaRecorder準備的時間是特別的,有時需要額外的延遲代碼。

http://code.google.com/p/android/issues/detail?id=5050

1

你需要解鎖相機,嘗試recorder.setCamera

之前調用

camera.unlock();