Вход камеры: неподдерживаемый параметр - PullRequest
1 голос
/ 22 декабря 2011

Во-первых, пожалуйста, прости, он уже задан или может быть легко найти с Google Я публикую это, поскольку у меня есть только ограниченное время. Вот код для записи аудио и видео.

        stopPreview();

        Log.d("streamer", "Start camera.....");
        videoRecorder = new MediaRecorder();
        videoRecorder.setPreviewDisplay(surfaceView.getHolder()
                .getSurface());
        videoRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
        videoRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        videoRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
        videoRecorder.setVideoSize(800, 600);
        videoRecorder.setVideoFrameRate(30);
        videoRecorder.setOutputFile(videoPipe.getOutput());
        videoRecorder.prepare();
        videoRecorder.start();
        Log.d("streamer", "Start camera.....action.......");

        Log.d("streamer", "Start mic.....");
        audioRecorder = new MediaRecorder();
        audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
        audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        audioRecorder.setOutputFile(audioPipe.getOutput());
        audioRecorder.prepare();
        audioRecorder.start();
        Log.d("streamer", "Start mic.....action");

Но когда я запускаю его, приведенный выше код выдает следующее на logcat.

12-22 09:05:43.456: E/CameraInput(2407): Unsupported parameter(x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value)
12-22 09:05:43.456: E/CameraInput(2407): VerifiyAndSetParameter failed on parameter #0

.....
12-22 09:05:43.456: E/CameraInput(2407): VerifiyAndSetParameter failed on parameter #0
12-22 09:05:43.464: E/MediaProfiles(2407): mCodec : 2
12-22 09:05:43.464: E/MediaProfiles(2407): mCodec : 1
12-22 09:05:43.464: E/MediaProfiles(2407): mCodec : 3

И, вид поверхности, показывающий предварительный просмотр, кажется, заморожен. Показывает последний снятый кадр изображения. Кроме того, видео и аудио, похоже, не записываются. В чем будет проблема? Любая помощь очень ценится!

Примечание:

Я пытаюсь сделать это на Samsung Galaxy Tab с Android 2.2.

Комментирование следующих двух строк также не решает проблему

        videoRecorder.setVideoSize(800, 600);
        videoRecorder.setVideoFrameRate(30);

Для файла манифеста установлены следующие разрешения.

<uses-permission android:name="android.permission.CAMERA"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>

1 Ответ

2 голосов
/ 22 декабря 2011

Если вы видите Поддерживаемые форматы мультимедиа , для MPEG-4 SP необходимо использовать формат вывода 3GP (THREE_GPP).
Так что вы можете попробовать с

videoRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
...