AVPlayer не переключается на следующий трек, когда экран заблокирован

Я использую AVPlayer для потоковой передачи аудио, звук воспроизводится, и он переходит к следующей дорожке, когда приложение находится в фоновом режиме и экран заблокирован. Моя проблема в том, что всякий раз, когда экран становится черным и текущая дорожка заканчивает воспроизведение, следующая дорожка не будет воспроизводиться, пока я не разбуду экран, а затем перейдет к следующей дорожке. Я также настроил пульты дистанционного управления, и это работает правильно. Любая помощь будет оценена, спасибо заранее...

Вот так я и перехожу к следующему треку

NotificationCenter.default.addObserver(self, selector: #selector(audioFinishPlaying), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: AVPlayerManager.instance.player.currentItem)

@objc func audioFinishPlaying(notification: NotificationCenter) {

    if repeatSelected == true {
        AVPlayerManager.instance.player.seek(to: kCMTimeZero)
        AVPlayerManager.instance.player.play()
    }

    else {

        let current = focusedAudioItem
        if current + 1 < subCategoryItems.count {
            let path  = IndexPath(item: current + 1, section: 0)
            self.collectionView.selectItem(at: path, animated: true, scrollPosition: .centeredHorizontally)
    }
        else {

            playBtn.setImage(#imageLiteral(resourceName: "play"), for: UIControlState.normal)
            AVPlayerManager.instance.player.seek(to: kCMTimeZero)
        }
   }

}

Аудио сессия

func setupAudioSession() {

    let audioSession = AVAudioSession.sharedInstance()

    do {
        try audioSession.setCategory(AVAudioSessionCategoryPlayback)
        UIApplication.shared.beginReceivingRemoteControlEvents()
        try audioSession.setActive(true)

    } catch {

        print(error.localizedDescription)
    }
 }

0 ответов

Другие вопросы по тегам