我正在编写一个播放背景音乐的应用程序,为此我正在使用 AVAudioSession,如下所示:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"song" ofType:@"mp3"]];
player = [[AVAudioPlayer alloc] initWithData:data error:NULL];
player.delegate = self;
[player setVolume:1.0];
...
[player prepareToPlay];
[player play];
然后,稍后,用户可以选择禁用音乐。如果他们选择这样做,则运行以下代码:
[[AVAudioSession sharedInstance] setActive:NO error:nil];
[player stop];
这成功地停止了音乐的播放。但是,如果音乐应用程序(或其他,如 Spotify)中的音乐启动,然后切换到应用程序,用户的音乐将淡出并暂停。我的应用程序的音乐不会播放,因为它仍然被禁用,所以用户会保持沉默。
如何防止我的应用暂停用户的音乐?