Nexus 9 Android Lollipop 5.1.1上的媒体录制器启动失败-19

时间:2015-06-24 07:58:51

标签: android camera android-camera android-mediarecorder android-5.1.1-lollipop

我正在尝试在我的应用中捕获视频 这在所有Android版本和不同设备上运行良好,直到我在Android版本5.1.1的Nexus 9上试用它。

这是我的代码:

                prCamera.lock();
                prCamera.unlock();
                prMediaRecorder.setCamera(prCamera);
                prMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
                prMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
                prMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
                prMediaRecorder.setAudioEncoder(AudioEncoder.AAC);
                prMediaRecorder.setVideoEncoder(VideoEncoder.H264);
                prRecordedFile = new File(mFilePath);
                prMediaRecorder.setOutputFile(prRecordedFile.getPath());
                prMediaRecorder.setVideoEncodingBitRate(3000000);
                prMediaRecorder.setVideoSize(720, 480);
                prMediaRecorder.setVideoFrameRate(cFrameRate);
                prMediaRecorder.setPreviewDisplay(prSurfaceHolder.getSurface());
                prMediaRecorder.prepare();
                if (prRecordedFile.exists()) {
                    prRecordedFile.mkdirs();
                    if (MarkerName != null) {
                        try {
                            prMediaRecorder.start(); // EXITS HERE
                        } catch (Exception e) {
                            e.printStackTrace();  // STACK TRACE SHOWN BELOW
                        }
                    }
                } 

这是Log(堆栈跟踪):

06-24 12:42:20.099: W/System.err(10736): java.lang.RuntimeException: start failed.
06-24 12:42:20.138: W/System.err(10736):    at android.media.MediaRecorder.start(Native Method)
06-24 12:42:20.206: W/System.err(10736):    at uk.org.humanfocus.hfi.FFMPEGRecorderActivity.startRecording(FFMPEGRecorderActivity.java:1083)
06-24 12:42:20.260: W/System.err(10736):    at uk.org.humanfocus.hfi.FFMPEGRecorderActivity.access$15(FFMPEGRecorderActivity.java:1035)
06-24 12:42:20.304: W/System.err(10736):    at uk.org.humanfocus.hfi.FFMPEGRecorderActivity$5.run(FFMPEGRecorderActivity.java:1300)
06-24 12:42:20.344: W/System.err(10736):    at android.os.Handler.handleCallback(Handler.java:739)
06-24 12:42:20.384: W/System.err(10736):    at android.os.Handler.dispatchMessage(Handler.java:95)
06-24 12:42:20.417: W/System.err(10736):    at android.os.Looper.loop(Looper.java:135)
06-24 12:42:20.467: W/System.err(10736):    at android.app.ActivityThread.main(ActivityThread.java:5254)
06-24 12:42:20.504: W/System.err(10736):    at java.lang.reflect.Method.invoke(Native Method)
06-24 12:42:20.547: W/System.err(10736):    at java.lang.reflect.Method.invoke(Method.java:372)
06-24 12:42:20.594: W/System.err(10736):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
06-24 12:42:20.630: W/System.err(10736):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

1 个答案:

答案 0 :(得分:1)

请删除此行,然后重试。

prMediaRecorder.setVideoFrameRate(cFrameRate);
相关问题