バックグラウンドミュージックを再生するアプリケーションをプログラミングしています。そのために、次のように 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 などの別のアプリ) の音楽を開始してからアプリに切り替えると、ユーザーの音楽はフェードアウトして一時停止します。私のアプリの音楽はまだ無効になっているため再生されないため、ユーザーは無音のままになります。
アプリがユーザーの音楽を一時停止しないようにするにはどうすればよいですか?