簡體   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