使用AVPlayer显示多个视频-快速-以编程方式

问题描述

我有一个AVPlayer,它显示来自URL的视频,这是我设置的方式:

fileprivate func setUpPlayer(cardModel : CardModel){
    
    cardModel.urlStrings?.forEach({ (urlstring) in
        
        guard let url = URL(string: urlstring) else {
            return
        }
        
        urlStrings.append(url)
    })
    
    player = AVPlayer(url: urlStrings[0])
    playerLayer = AVPlayerLayer(player: player)
    playerLayer.videoGravity = .resizeAspectFill
    player.play()
    self.playerView.layer.insertSublayer(playerLayer,at: 0).
    }
  

正如您在一开始看到的那样,我创建了一个URL列表,我想在发生触摸事件时显示这些URL:

这是我创建的两个片段,用于显示来自网址数组的以下视频列表:

 fileprivate func goToNextVideo(){
    counter = counter + 1
    counter = min(counter,cardModel!.urlStrings!.count - 1)
    
   
    player = AVPlayer(url: urlStrings[counter])
    
    playerLayer = AVPlayerLayer(player: player)
    playerLayer.videoGravity = .resizeAspectFill
    player.play()
}



fileprivate func goToPreviousVideo(){
    counter = counter - 1
    counter = max(0,counter)
   
    player = AVPlayer(url: urlStrings[counter])
    playerLayer = AVPlayerLayer(player: player)
    playerLayer.videoGravity = .resizeAspectFill
    player.play()
}

该实现似乎无效,当我转到下一个视频时,我只能听到音频,而看不到视频,您知道如何使用AVPlayer从网址列表中播放视频吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)