GPUImageMovieWriter начинает новую запись

Могу ли я повторно использовать существующий GPUImageMovieWriter (после вызова finishRecording) или есть способ приостановить и возобновить запись?

Я получаю сообщение об ошибке, если я вызываю startRecoding после finishRecording.

Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: '*** -[AVAssetWriter addInput:] Cannot call method when status is 2'

person Daddycat Tan Yin See    schedule 14.03.2013    source источник
comment
см. этот ответ stackoverflow.com/ вопросы/4911534/   -  person Sumit Mundra    schedule 14.03.2013
comment
Предположим, это не совсем то же самое (несмотря на ту же ошибку), я использую GPUImageMovieWriter, который обертывает AVAssetWriter.   -  person Daddycat Tan Yin See    schedule 15.03.2013


Ответы (1)


Вы не можете вызывать startRecording() для того же экземпляра movieWriter после вызова finishRecording().

finishRecording() записывает блок завершения видео в файл, поэтому все последующие кадры, добавляемые в видеофайл, в любом случае будут бесполезны. Если вы хотите приостановить запись на некоторое время и снова добавить видео в конце после паузы, вам, вероятно, следует создать состояние «паузы», в котором вы не записываете, а просто измеряете время паузы, а затем используйте скорректированное время кадра, когда вы снова возобновите запись.

Ваше здоровье! Виджей

person Vijay    schedule 18.06.2013