Запись видео в разрешении 480х360 на Galaxy Nexus

Кто-нибудь имел успех в записи видео размером 480x360 h264 с Samsung Galaxy Nexus (работает 4.3 - изначально пробовал с 4.2) через MediaRecorder API? Я могу записывать с разрешением 640x480, но как только я изменяю его на 480x360, при вызове start () происходит сбой API MediaRecorder с ошибкой -19.

Это мои настройки:

mCamera.unlock();

mMediaRecorder = new MediaRecorder();

mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

mMediaRecorder.setMaxDuration(300000); //5min

mTempFile = new File(getFilesDir(), AppManager.tempFileName);
mMediaRecorder.setOutputFile(mTempFile.getPath());

mMediaRecorder.setVideoEncodingBitRate(1048576); //1mb/s
mMediaRecorder.setVideoSize(480, 360);
mMediaRecorder.setVideoFrameRate(30);

mMediaRecorder.setAudioEncodingBitRate(131072); //128kb/s
mMediaRecorder.setAudioSamplingRate(44100); //Hz/s

mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());

mMediaRecorder.setMaxFileSize(104857600); //100mb

mMediaRecorder.prepare();
mMediaRecorder.start(); //<<<crashes here

Любые идеи о том, почему это может произойти сбой, когда, например, он работает на дешевом планшете под управлением 4.1?

Любая помощь будет высоко ценится, спасибо!

1 ответ

Решение

Спасибо за комментарии. Просто не возможно, почему я понятия не имею, но это также верно для Galaxy S3 и другого небольшого дешевого планшета, на котором я сейчас тестировал. Это позор, потому что 480x320, кажется, базовый профиль для воспроизведения на всех устройствах Android.

Другие вопросы по тегам