他のアプリがバックグラウンドでオーディオを再生できるようにするiPhoneアプリケーションを開発しました。これを実現するために、オーディオセッションを次のように初期化します。
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
私のアプリケーションのある時点で、CoreDataに保存されているいくつかのファイルをAVAudioPlayerで再生するためのオーディオプレーヤーを提供しています。ユーザーが再生ボタンを押すと、バックグラウンドオーディオが一時停止されます。プレーヤーが終了または一時停止すると、バックグラウンドオーディオの再生が再開されます。
プレーヤーが再生を終了した後に再開している間
-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
[[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation error:nil];
}
チャームのように機能し、一時停止後に履歴書で行き詰まります。ボタンのIBAction内でも同じように機能するはずです
-(IBAction)pausePlayer
{
if (self.player.isPlaying) {
[self.player pause];
[[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation error:nil];
}
}
しかし、私はいつも同じエラーを受け取ります:
Unable to deactivate audio session. Error: Error Domain=NSOSStatusErrorDomain Code=560030580 "The operation couldn’t be completed. (OSStatus error 560030580.)"
この場合、AudioSessionを非アクティブ化できない理由について何か提案はありますか?