swift - NSNotificationCenter 到 AVQueuePlayer swift

标签 swift video avqueueplayer

我将 AVQueuePlayer 列表添加到 UITableViewCell。我将视频数组添加到 AVQueuePlayer,如下所示:

if let urls   = delegate.arrayVideofeedItemsList[indexPath.row] as? NSArray
            {
                let player = AVQueuePlayer()

                for currentVideoObject in urls {

                    let avAsset = AVURLAsset(URL: NSURL(fileURLWithPath: "\(currentVideoObject)"))

                    avAsset.loadValuesAsynchronouslyForKeys(["playable", "tracks", "duration"], completionHandler: {
                        dispatch_async(dispatch_get_main_queue(), {
                            // self.enqueue(avAsset)
                            let item = AVPlayerItem(asset: avAsset)
                            player.insertItem(item, afterItem: nil)
                        })
                    })
                }

                let playerLayer = AVPlayerLayer(player: player)
                // playerLayer.backgroundColor = UIColor.greenColor().CGColor
                playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
                playerLayer.frame = CGRectMake(0, 0,SCREEN_WIDTH, 250)

                cell.contentView.layer.addSublayer(playerLayer)
                player.play()
                player.actionAtItemEnd = AVPlayerActionAtItemEnd.Advance
                player.volume = 0.0

                 NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerItemDidReachEnd:", name: AVPlayerItemDidPlayToEndTimeNotification,object:player.currentItem)

            }

  func playerItemDidReachEnd(notification: NSNotification) {
        let p: AVPlayerItem = notification.object as! AVPlayerItem
        p.seekToTime(kCMTimeZero)
}

我在 AVQueuePlayer 中有三个视频。三个视频按顺序播放,但第一个视频播放完成后不播放。我需要添加什么?请帮我完成它。

最佳答案

尝试在初始化播放器后添加这一行:

player.actionAtItemEnd = AVPlayerActionAtItemEnd.None

关于swift - NSNotificationCenter 到 AVQueuePlayer swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35940908/

相关文章:

http - 是否有任何通过 HTTP 搜索(在流中)的标准?

swift - 在视频应用程序中获取视频数据

iphone - 如何实现 uislider 以便它可以用作 AVQueueplayer 中的洗涤器

docker - 在 Docker 容器之间流式传输数据的最有效方式是什么

ios - 我们现在如何使用 iOS 播放 YouTube 视频?

ios - 如何在我的应用程序中保存表格 View 的数据?

ios - Swift Parse 创建用户

ios - 使用 AVQueuePlayer 跳到上一个的更好方法?

iOS: AVQueuePlayer/AVPlayerItem 'An AVPlayerItem can occupy only one position in a player' s queue at a time.'

swift - "Value of tuple type ' (String, JSON )' has no member ' subscript' "在Xcode中指的是什么?