1

我尝试使用 MediaRecorder 类录制视频,但出现异常:无法获取相机参数。准备失败。

这是我的代码:

        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 回答