AVAssetWriter: предварительный просмотр записанного .mp4 перед вызовом `finishWriting`?

Я использую AVAssetWriter для записи видео (со звуком) с камеры iOS. Все отлично работает.

Теперь я хочу разрешить пользователю просматривать видео до saving, то есть перед вызовом finishWriting в экземпляре AVAssetWriter.

Моя первоначальная мысль заключалась в том, чтобы скопировать текущий файл, в который записывает запись во время перекодирования, в URL-адрес предварительного просмотра, а затем использовать другой AVAssetWriter, чтобы завершить этот файл, а затем воспроизвести его.

Однако я не уверен, как правильно инициализировать второй AVAssetWriter для целей предварительного просмотра, поэтому я могу вызвать finishWriting по URL-адресу предварительного просмотра...

Кто-нибудь знает, как я могу реализовать функцию предварительного просмотра, чтобы пользователь мог предварительно просмотреть записанный в данный момент mp4 перед вызовом finishWriting?


person zumzum    schedule 11.12.2020    source источник


Ответы (1)


Кто-нибудь знает, как я могу реализовать функцию предварительного просмотра, чтобы пользователь мог предварительно просмотреть записанный в данный момент mp4 перед вызовом finishWriting?

Вы должны вызвать finishWriting, чтобы иметь доступный для просмотра файл mp4.

Поэтому вызовите finishWriting, позвольте пользователю предварительно просмотреть полученный файл, а затем решить, удалить его или оставить.

person Rhythmic Fistman    schedule 11.12.2020
comment
Мне нужно, чтобы средство записи активов оставалось незавершенным, пока пользователь не сохранит. Мне нужно предварительно просмотреть текущее видео, пока исходное средство записи еще не закончено. - person zumzum; 12.12.2020
comment
Зачем писателю быть незаконченным? Итак, вы можете продолжить запись? - person Rhythmic Fistman; 12.12.2020
comment
Да. Цель состоит в том, чтобы позволить пользователю предварительно просмотреть записанное видео перед окончательным сохранением. Таким образом, пользователь может захотеть продолжить запись после предварительного просмотра того, что уже было записано. - person zumzum; 14.12.2020
comment
В этом случае вы можете начать запись в новый файл, а затем объединить их вместе, когда закончите. Вы можете сделать это, используя комбинацию AVMutableComposition и AVAssetExportSession (возможно, за счет транскодирования аудио, хотя вы сможете избежать транскодирования видео). - person Rhythmic Fistman; 14.12.2020