2

我有一门课可以将视频和音频录制到 .mp4 文件中。我用AVAssetWriter,AVAssetWriterInput来做这样的任务

使用这种方法()录制视频时,如何获取视频的持续时间AVAssetWriter

4

1 回答 1

4

您可以在开始 startSession 时节省开始时间

let startTimeStamp = CMSampleBufferGetPresentationTimeStamp(sample)
fileWriter.startSession(atSourceTime: startTimeStamp)
startTime = Double(startTimeStamp.value) / Double(startTimeStamp.timescale)

比您将获得的每个缓冲区都这样做:

let currentTimeStamp = CMSampleBufferGetPresentationTimeStamp(sample)
let currentTime = Double(currentTimeStamp.value) / Double(currentTimeStamp.timescale)

print("Duration - \(currentTime - startTime)")
于 2018-03-30T08:35:27.880 回答