Основная функция нашего приложения - воспроизведение списка аудиодорожек (локальных или постепенно загружаемых файловых аудиофайлов).
Когда пользователь выбирает программу, будет массив объектов трека (идентификатор трека, описание, URL и т. Д.). Чтобы начать воспроизведение, мы создаем новый AVPlayer и устанавливаем URL трека для плеера; когда эта дорожка заканчивается (обратите внимание на AVPlayerItemDidPlayToEndTimeNotification), мы освобождаем существующего проигрывателя, а затем создаем новый AVPlayer для следующей дорожки.
Мы установили AVAudioSessionCategoryPlayback при запуске приложения.
Мы установили AVAudioSession active = YES при воспроизведении новой дорожки.
Реализация работала хорошо в течение многих лет. Но начиная с iOS 12.2 наши пользователи начали испытывать некоторые проблемы с воспроизведением, такие как:
- Не удалось автоматически воспроизвести следующую дорожку.
- из наших логов мы видим, что игрок начал загружать следующий трек, но затем он был остановлен (KVO, rate = 0)
- Элементы управления в Центре управления отсутствовали; это только показало "Музыку". Это также, похоже, влияет на AirPlay и Bluetooth (автомобиль).
Мы не всегда можем воспроизвести проблемы, поэтому нам трудно их отлаживать. Пожалуйста, сообщите, что нам нужно обновить в отношении iOS 12.2 или каких-либо решений или рекомендаций по внедрению аудиоплеера для воспроизведения списка воспроизведения.
Спасибо.