Я использую AVQueuePlayer
в своем приложении для воспроизведения некоторых мультимедиа. Я пытаюсь использовать MPNowPlayingInfoCenter
, чтобы показать текущий статус воспроизведения, когда приложение работает в фоновом режиме. Моя проблема в том, что кнопка воспроизведения всегда отображается, даже когда воспроизводится мультимедиа. Я устанавливаю информацию о воспроизведении с помощью следующего кода:
NSDictionary *songInfo = @{
MPMediaItemPropertyTitle: title,
MPMediaItemPropertyArtist: artist,
MPMediaItemPropertyAlbumTitle: album,
MPMediaItemPropertyPlaybackDuration: duration,
MPNowPlayingInfoPropertyPlaybackRate: @(1.0f),
MPNowPlayingInfoPropertyElapsedPlaybackTime: @(0.0f)
};
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];
Как видно из следующего снимка экрана, кнопка воспроизведения показана там, где я ожидал увидеть кнопку паузы.
Если это уместно, я устанавливаю категорию AVAudioSession
на AVAudioSessionCategoryPlayback
.
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
error:&sessionError];
[[AVAudioSession sharedInstance] setActive: YES error: NULL];