Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVAssetWriter:在调用“finishWriting”之前预览录制的.mp4?_Ios_Swift_Avfoundation_Avassetwriter_Avkit - Fatal编程技术网

Ios AVAssetWriter:在调用“finishWriting”之前预览录制的.mp4?

Ios AVAssetWriter:在调用“finishWriting”之前预览录制的.mp4?,ios,swift,avfoundation,avassetwriter,avkit,Ios,Swift,Avfoundation,Avassetwriter,Avkit,我正在使用AVAssetWriter从iOS摄像头录制视频(带音频)。一切都很好 我现在想允许用户在保存之前预览视频,也就是说,在AVAssetWriter实例上调用finishWriting之前 我最初的想法是将作者在重新编码期间写入的当前文件复制到预览url,然后使用另一个AVAssetWriter完成该文件,然后播放它 但是,我不知道如何正确初始化第二个AVAssetWriter以进行预览,因此我可以在预览url处调用finishWriting 有人知道我如何实现预览功能,允许用户在调用f

我正在使用
AVAssetWriter
从iOS摄像头录制视频(带音频)。一切都很好

我现在想允许用户在
保存
之前预览视频,也就是说,在
AVAssetWriter
实例上调用
finishWriting
之前

我最初的想法是将作者在重新编码期间写入的当前文件复制到预览url,然后使用另一个
AVAssetWriter
完成该文件,然后播放它

但是,我不知道如何正确初始化第二个
AVAssetWriter
以进行预览,因此我可以在预览url处调用
finishWriting

有人知道我如何实现预览功能,允许用户在调用
finishWriting
之前预览当前录制的
mp4

有人知道我如何实现预览功能,允许用户在调用finishWriting之前预览当前录制的mp4吗

您必须调用
finishWriting
,才能查看mp4文件


因此,请调用
finishWriting
,让用户预览生成的文件,然后决定是删除还是保留该文件。

在用户保存之前,我需要保持资产编写器未完成。当原始资产编写器尚未完成时,我需要预览当前视频。为什么编写器需要未完成?你能继续录音吗?是的。目标是允许用户在最终保存之前预览录制的视频。因此,用户可能希望在预览已录制的内容后继续录制。在这种情况下,您可以开始录制到新文件,然后在完成后将两者合并在一起。您可以使用
AVMutableComposition
avassetextortsession
的组合来实现这一点(可能以音频转码为代价,尽管您应该能够避免视频转码)。