ビデオをキャプチャしようとしていますが、実行が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();
}
LogCat を見ると、「カメラが利用できません」という行に気付きました。
ここで何が問題なのか、ビデオキャプチャを有効にする方法を知っている人はいますか?
ありがとう!