[英]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.