0

有没有人通过 MediaRecorder API 从三星 Galaxy Nexus(运行 4.3 - 最初尝试使用 4.2)录制 480x360 h264 视频成功?我能够以 640x480 录制,但一旦我将其更改为 480x360,MediaRecorder API 在调用 start() 时崩溃 - 错误为 -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 的廉价平板电脑上运行时?

任何帮助将不胜感激,谢谢!

4

1 回答 1

0

感谢您的评论。这是不可能的,至于为什么我不知道,但 Galaxy S3 和我现在测试过的另一款小型廉价平板电脑也是如此。很遗憾,因为 480x320 似乎是在所有 Android 设备上播放的基准配置文件。

于 2013-10-10T15:52:51.027 回答