我从AVAudioPlayer开始-play,然后像这样设置nowPlaying字典:

NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init];
        
MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage: [UIImage imagedNamed:@"AlbumArt"]];
[songInfo setObject:@"Audio Title" forKey:MPMediaItemPropertyTitle];
[songInfo setObject:@"Audio Author" forKey:MPMediaItemPropertyArtist];
[songInfo setObject:@"Audio Album" forKey:MPMediaItemPropertyAlbumTitle];
[songInfo setObject:albumArt forKey:MPMediaItemPropertyArtwork];
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];

锁定屏幕上始终会显示一个暂停按钮。我可以正确接收远程控制事件,并且可以在远程控制事件之间切换播放/暂停,但是锁定屏幕即使在播放时也始终显示“暂停”。

现在,我看到了使用MPMoviePlayerController进行的这项工作。有人可以解释MPNowPlayingInfoCenter如何确定它应该显示播放还是暂停按钮吗?

最佳答案

您是否在AVAudioSessionCategory上设置了正确的AudioSession?我相信它必须是AVAudioSessionCategoryPlayback才能正常工作。

10-07 23:06