исключение медиа-рекордер Android - PullRequest
1 голос
/ 17 июня 2010

Я пытаюсь использовать класс 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();

Есть идеи?

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Вам нужно разблокировать камеру, попробуйте позвонить

camera.unlock();

до рекордера .setCamera

0 голосов
/ 21 июля 2010

Я заметил, что вы не включили setAudioSource или setFrameRate - иногда MediaRecorder требователен к этим настройкам.

Кроме того, я обычно видел набор previewDisplay перед другими элементами.

У вас есть дамп logcat для этого?

К вашему сведению, я заметил, что получение видео вработать с некоторыми устройствами сложно - время для подготовки MediaRecorder является особенным, и иногда требуется дополнительный код для задержки.

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

...