Android 中 MediaRecorder.stop() 函数上的运行时异常



我正在创建一个屏幕捕获应用程序。 使用带有MediaProjection API的MediaRecorder

停止记录器时出现运行时异常

这是停止屏幕捕获的代码

private void stop_recorder() {
if (virtualDisplay == null) {
return;
}
virtualDisplay.release();
if (mediaProjection != null) {
mediaProjection.unregisterCallback(projectionCallback);
mediaProjection.stop();
mediaProjection = null;
}
if (recorder != null) {
recorder.stop();
recorder.reset();
}
}

发生的异常是

E/MediaRecorder: stop failed: -1007 java.lang.RuntimeException: stop failed. at android.media.MediaRecorder.stop(Native Method)

问题出在模拟器上。它没有音频和视频源。

查看 android.developer doc

RuntimeException 被有意抛出到应用程序,如果在调用 stop(( 时没有收到有效的音频/视频数据。如果在 start(( 之后立即调用 stop((,就会发生这种情况。

溶液

mediaRecorder.stop((函数放在try-catch块中

相关内容

  • 没有找到相关文章

最新更新