我正在使用AVMutableComposition
播放在不同连续文件中分割的视频。但是,在播放时,两个连续片段之间会有一个小跳(短黑屏)。
有没有办法阻止它?
import UIKit
import AVFoundation
class KLMasterPlayerViewController: KLPlayerViewController {
let comp:AVMutableComposition = AVMutableComposition()
var playerItem:AVPlayerItem!
init() {
super.init(nibName: nil, bundle: nil)
self.initComp()
self.playerItem = AVPlayerItem(asset: self.comp)
self.player = AVPlayer(playerItem: self.playerItem)
}
private func initComp() {
let segments = MasterVideo.sharedInstance.videoSegments
var insertedTime:Double = 0.0
for segment in segments {
do {
let asset = segment.getURLAsset()
try comp.insertTimeRange(CMTimeRangeMake(kCMTimeZero,asset!.duration), ofAsset: asset!, atTime: CMTimeMake(Int64(insertedTime * 10000), 10000))
insertedTime += segment.getDuration()
} catch {
}
}
}
}
答案 0 :(得分:0)
我找到了答案:Swift没有正确计算视频资产的持续时间。对于他们中的每一个,有一个不同的1图像。 通过强制视频片段的持续时间,这很好而且完美无瑕。
很高兴它解决了!
非常感谢vaibhav试图提供帮助。