Исключение во время выполнения функции MediaRecorder.stop () в Android - PullRequest
0 голосов
/ 18 сентября 2018

Я создаю приложение для захвата экрана.Использование 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)

1 Ответ

0 голосов
/ 18 сентября 2018

Проблема с эмулятором.Он не имеет аудио и видео источника.

Look android.developer doc

RuntimeException преднамеренно выбрасывается в приложение, еслипри вызове stop () не было получено никаких действительных аудио / видео данных.Это происходит, если stop () вызывается сразу после start ().

Решение

Поместить mediaRecorder.stop () функция в try-catch блок

...