当 MPMusicPlayer Controller 在 iOS 上播放时,AVAudioPlayer 无法播放声音



我有一个应用程序,可以使用AVAudioPlayer播放各种音乐声音。它允许人们从他们的库中选择一首歌曲,并使用MPMusicPlayerController播放。以前他们可以用它来干扰,但现在当MPMusicPlayerController播放时,它不会使用AVAudioPlayer来播放声音。一旦MPMusicPlayerController停止,它甚至不会播放声音。我已经在13.4.1和13.6上进行了测试。是什么改变了它,使它停止工作,我能做些什么来修复它?

它播放的声音是这样的:

AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&err];
[player prepareToPlay];
[player setVolume: 1.0];
[player play];

对于音乐,它使用MPMediaPickerController获得一个MPMediaItemCollection,然后像这样播放:

- (void) playMusic: (MPMediaItemCollection *) collection {
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];
if (musicPlayer == nil) {
musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
[musicPlayer setShuffleMode: MPMusicShuffleModeOff];
[musicPlayer setRepeatMode: MPMusicRepeatModeNone];
}
[musicPlayer setQueueWithItemCollection:collection];
[musicPlayer play];
}

感觉很愚蠢。手机被设置为静音模式。出于某种原因,它可以无声地播放声音或音乐,但不能同时播放。

最新更新