AVMutableComposition:播放时视频片​​段之间的小跳跃

时间:2016-10-18 10:47:30

标签: ios swift video

我正在使用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 {

            }

        }
    }


}

1 个答案:

答案 0 :(得分:0)

我找到了答案:Swift没有正确计算视频资产的持续时间。对于他们中的每一个,有一个不同的1图像。 通过强制视频片段的持续时间,这很好而且完美无瑕。

很高兴它解决了!

非常感谢vaibhav试图提供帮助。