1

MediaRecorder クラスを使用してビデオを録画しようとしましたが、例外が発生しました: Camera パラメーターを取得できませんでした。準備に失敗しました。

これが私のコードです:

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

何か案が ?

4

2 に答える 2

1

カメラのロックを解除する必要があります。電話してみてください

camera.unlock();

Recorder.setCameraの前

于 2011-08-16T09:40:49.267 に答える
0

setAudioSource または setFrameRate が含まれていないことに気付きました - MediaRecorder がこれらの設定にうるさい場合があります。

また、私は通常、他の項目の前に previewDisplay が設定されているのを見てきました。

このための logcat ダンプはありますか?

参考までに、一部のデバイスでビデオを動作させるのは難しいことに気付きました。MediaRecorder の準備のタイミングは特殊であり、遅延のために追加のコードが必要になる場合があります。

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

于 2010-07-21T14:32:31.657 に答える