【问题标题】:How to show sheet view after last item finished playing in AVQueuePlayer?在 AVQueuePlayer 中播放完最后一项后如何显示工作表视图?
【发布时间】:2020-08-11 20:27:54
【问题描述】:

我正在使用AVQueuePlayer 播放一系列视频,但在最后一个视频之后,我看到AVQueuePlayer 在没有剩余视频时尝试播放下一个视频。而我想要做的是在最后一个项目完成播放后切换一个布尔值以显示工作表视图。你能帮我解决这个问题吗?感谢您的关注。我期待着您的回复。这是我的代码:

`struct Button : View {
            

@Binding var player : AVQueuePlayer
@Binding var isplaying : Bool
@State var showEnd = false
var removal: (() -> Void)? = nil
  
var body : some View {
    
    
     Button(action: {
       
     
            self.player.advanceToNextItem()
     }) {
         Image(systemName: self.isplaying ? "pause.fill" : "play.fill")
             .font(.title)
             .foregroundColor(.black)
             .padding(20)
     }
}
}


struct VideoPlayerS : UIViewControllerRepresentable {
        
@State var showEnd = false
var work : WorkoutDeS
@Binding var player : AVQueuePlayer
var playerLayer = AVPlayerLayer()
    
public func makeUIViewController(context: Context) -> AVPlayerViewController {
    let items = [
        
        AVPlayerItem(url: URL(fileURLWithPath: String(work.url1))),
        AVPlayerItem(url: URL(fileURLWithPath: String(work.url2)))
        
    ]
   let player = AVQueuePlayer(items: items)
       let controller = AVPlayerViewController()

       DispatchQueue.main.async {
          self.player = player
       }
    controller.player = player
    controller.videoGravity = .resizeAspectFill

  

    
    
    player.actionAtItemEnd = .none
    NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: self.player.currentItem, queue: .main) { _ in
        self.player.seek(to: CMTime.zero)
        self.player.play()
    }
    player.play()
    

  
    
    return controller
}`

【问题讨论】:

    标签: swift swiftui avplayer avkit avqueueplayer


    【解决方案1】:

    在队列玩家的currentItem 上设置观察者。当调用观察者方法并且播放器中没有项目时,它已经播放了最后一个项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 2012-06-24
      • 2012-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多