Проблема предварительного просмотра камеры на Nexus S при реализации MediaRecorder - PullRequest
0 голосов
/ 18 сентября 2011

Я записываю видео с помощью MediaRecorder, а также использую SurfaceView и SurfaceHolder для предварительного просмотра видео. Все отлично работает в HTC Legend с Android 2.2, но превью не отображается на Nexus S с Android 2.3.4, вместо этого отображается только черный экран. Ниже приведены мои фрагменты кода: Для MediaRecorder:

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);

Кто-нибудь еще сталкивался с подобной проблемой?

Ответы [ 2 ]

0 голосов
/ 19 апреля 2013

Я думаю, что где-то видел что camera.unlock (); Recorder.setCamera (камера) Я должен быть как можно скорее после создания рекордера. И после этого все остальные настройки могут быть выполнены. Обязательно соблюдайте правильный порядок установки, описанный в руководстве по эксплуатации камеры Android.

0 голосов
/ 03 ноября 2011

Я видел ту же проблему.Если вы используете один из CamcorderProfiles, он будет работать.Но если вы попытаетесь установить настройки самостоятельно, есть много комбинаций, которые не работают, и только некоторые из них работают.

Если вы хотите установить настройки самостоятельно, начните с тех же настроек, что и одна изпрофиль, а затем посмотреть, какие изменения вы делаете, заставляет его сломаться.

...