有没有人通过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的廉价平板电脑?
非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
感谢您的评论。这是不可能的,至于为什么我不知道,但Galaxy S3和我现在测试的另一个小便宜的平板电脑也是如此。这是一个遗憾,因为480x320似乎是所有Android设备上的基线配置文件。