Я создаю приложение для камеры, в котором видео постоянно записывается и сохраняется на SD-карту. Видеоролики короткие (несколько минут), а их продолжительность задается с помощью setMaxDuration ().
Весь процесс работает нормально, в то время как основная деятельность находится на переднем плане. Но когда я перехожу к другому занятию (например, настройкам), запись видео работает в фоновом режиме, пока не будет достигнута максимальная продолжительность. Файл сохранен, но новая последовательность не может быть запущена
потому что prepare () завершается неудачно, очевидно, потому что setPreviewDisplay () не любит, когда нет подходящей поверхности для присоединения.
Я пытался использовать фиктивную Surface, фиктивную SurfaceHolder, lockCanvas () и другие трюки, но ничего не получалось. Есть ли способ инициализировать MediaRecorder без допустимой поверхности?