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

问题描述 投票:0回答:1

我正在创建一个Screen Capturing App。将MediaRecorder与MediaProjection API一起使用。

在停止录像机时获取运行时异常

这是停止屏幕捕获的代码

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 mediarecorder android-mediaprojection
1个回答
0
投票

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

Look android.developer doc

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

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

© www.soinside.com 2019 - 2024. All rights reserved.