При входящем звонке записанное видео повреждается, а методы AVFoundation выдают ошибки.

StackOverflow https://stackoverflow.com/questions/5997563

Вопрос

У меня есть приложение для записи видео.Все работает нормально.За исключением случаев, когда во время записи поступает телефонный звонок.

При получении телефонного звонка я пытаюсь завершить запись, однако любые мои запросы на запись в AVAssetWriter отклоняются.аудиоWriterInput appendSampleBuffer возвращает нет, appendPixelBuffer ошибки вылезли.Я пытаюсь вызвать avAssetWriter finishWriting но это возвращается AVAssetWriterStatusFailed.

Ничего не работает, мое видео повреждено, потому что мои обычные методы завершения сеанса записи не разрешены после получения вызова.

Что мне следует слушать, чтобы правильно завершить сеанс записи при поступлении телефонного звонка?Единственное, что я могу сейчас делать, это слушать applicationWillResignActive и остановить все, но это предотвращает запись, пока пользователь получает текстовое сообщение и т. д.из-за этого мое приложение будет работать иначе, чем родное приложение «Камера».

Это было полезно?

Решение

Взгляните на Базовая телефония рамки, и в частности CTCallCenter сорт.Вы можете зарегистрировать callEventHandler который представляет собой блок, который принимает CTCall объект.Этот объект описывает состояние вызова.Попробуйте завершить запись, когда объект вызова укажет, что это входящий вызов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top