2

I added list of AVQueuePlayer to UITableViewCell. I added array of videos to AVQueuePlayer as follows:

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)
}

I have three videos in AVQueuePlayer. Three videos are played sequentially but After completion of this first video is not playing. What I need to add to this ? Please help me to complete it.

rani
  • 593
  • 3
  • 10
  • 28

1 Answers1

0

Try to add this line after initializing player:

player.actionAtItemEnd = AVPlayerActionAtItemEnd.None
Sasha Kozachuk
  • 1,283
  • 3
  • 14
  • 21