在发生错误后,应该先使AVPlayer暂停,然后再调用replaceCurrentItem(with:)方法来切换播放内容。
示例代码:
func airPlayErrorDidOccur(_ notification: Notification) {
player.pause()
player.replaceCurrentItem(with: nil)
player.replaceCurrentItem(with: yourNewPlayerItem)
}
其中,airPlayErrorDidOccur是AirPlay错误通知的代理方法。在该方法中,先暂停当前播放,将当前item设置为nil,再将新的item设置为当前item,即可解决出现错误后无法切换播放内容的问题。