我正在使用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 {
}
}
}
}
最佳答案
我找到了答案:Swift无法正确计算我的视频资产的时长。对于每个人,都有一张不同的图片。
通过强制视频片段持续时间,可以做到完美无缺。
很高兴解决了!
非常感谢vaibhav的帮助。
关于ios - AVMutableComposition:播放时视频片段之间的小跳转,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40106162/