循环播放HLS流视频-2秒剪辑

时间:2020-06-16 18:21:25

标签: swift http-live-streaming avqueueplayer avplayerlooper

我使用AVQueuePlayer和AVPlayerLooper方法循环播放相对较短的剪辑-2秒的剪辑。第一次流,很好。当它开始循环播放时,它会在最后显示一个空白屏幕,然后循环播放并在剪辑中途跳转,有时还可以。这对于ios应用程序要求来说效果不佳。什么是建议/选项?

这是代码-

class VideoView: UIView {  

var player : AVQueuePlayer!  
var playerLayer : AVPlayerLayer!  
var playerLooper : AVPlayerLooper!  

override init(frame: CGRect) {  
    super.init(frame: frame)  
    sharedInit()  
}  

required init?(coder aDecoder: NSCoder) {  
    super.init(coder: aDecoder)  
    sharedInit()  
}  

override func prepareForInterfaceBuilder() {  
    sharedInit()  
}  

func sharedInit() {  
    self.layer.masksToBounds = true  
    self.layer.cornerRadius = 20  
    player = AVQueuePlayer()  
    playerLayer = AVPlayerLayer(player: player)  
    playerLayer.videoGravity = .resizeAspectFill  
}  

func update(mcState : MultipleChoiceStates, url : URL) {  
    if(mcState == .check) {  
        player.pause()  
        let item = AVPlayerItem(url: url)  
        playerLooper = AVPlayerLooper(player: player, templateItem: item)  
        self.layer.addSublayer(playerLayer)  
        player.play()  
    }  
}  

}  

0 个答案:

没有答案