При получении входящего звонка записанное видео повреждено, а методы AVFoundation выдают ошибки - PullRequest
3 голосов
/ 14 мая 2011

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

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

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

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

1 Ответ

2 голосов
/ 14 мая 2011

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

...