2016-10-18 76 views
0

我使用AVMutableComposition播放分割成不同連續文件的視頻。但是,在播放時,連續兩段之間會有一個小跳躍(短黑屏)。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

可能您的視頻在播放前只包含第二個缺口而已。 – vaibhav

+0

感謝您的建議,但沒有,視頻文件都很好,沒有黑色。 – user1875631

回答

0

我找到了答案:Swift沒有正確計算我的視頻資產的持續時間。對於它們中的每一個,都有一個不同的圖像。 通過強制視頻片段持續時間,這是完美無瑕的。

很高興它解決了!

非常感謝vaibhav試圖幫助。