Определение окончания воспроизведения музыкальной композиции Apple
Я пишу приложение, которое должно выполнить действие, когда песня закончилась. Я использую MPMusicPlayerController.applicationQueuePlayer() в качестве музыкального проигрывателя для воспроизведения яблочной музыки пользователя. Мне было интересно, есть ли способ, которым я мог бы определить, когда песня пользователя закончила играть или когда очередь закончилась (или было бы полезно)
1 ответ
MPMusicPlayerController
имеет метод экземпляра beginGeneratingPlaybackNotifications()
, Есть три Notification
s, которые будут доставлены подписчикам:
MPMusicPlayerControllerNowPlayingItemDidChange
MPMusicPlayerControllerPlaybackStateDidChange
MPMusicPlayerControllerVolumeDidChange
Чтобы определить, когда воспроизведение песни или очередь закончились, вы можете использовать MPMusicPlayerControllerNowPlayingItemDidChange
,
Когда вы получите это уведомление, проверьте MPMusicPlayerController
s nowPlayingItem
(см. документацию). Если песня закончена, а другая играется nowPlayingItem
будет изменен Если вся очередь закончена и ничего не играет, nowPlayingItem
будет иметь значение nil
,