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