繁体   English   中英

iOS / iPhone-AVAssetWriter:如何使用endSessionAtSourceTime:

[英]iOS / iPhone - AVAssetWriter : How to use endSessionAtSourceTime:

我正在使用AVAssetWriter创建MPEG4文件。

我开始视频会议:

[assetWriter startSessionAtSourceTime:kCMTimeZero];

现在,如果我以此结束会议,视频文件就写得很好:

[assetWriter finishWritingWithCompletionHandler:^{


     }];

但是,如果我调用[assetWriter endSessionAtSourceTime:endTime]; [assetWriter finishWritingWithCompletionHandler之前,它不会写入文件。

这就是我所说的endSessionAtSourceTime

endTime = CMTimeMakeWithSeconds(secondsRecorded, 30);
    [assetWriter endSessionAtSourceTime:endTime];

任何想法我在做什么错?

我认为问题在于endSessionAtSourceTime:的行为未达到您的期望。

endSessionAtSourceTime:与调用finishRecording()几乎相同,因为它在被调用时会停止记录。 区别在于,录制后,endSessionAtSourceTime:将删除(删除)在指定sourceTime之后收到的所有帧。

相反,如果您的预期结果是录制30秒的剪辑,则需要设置NSTimer或类似的东西,然后在30秒过去后调用endSessionAtSourceTime:或finishRecording()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM