特定の場所にオーディオ フィードバックがある iOS アプリを持っていますが、ユーザーがバックグラウンドで再生している他の音楽をこれで再生できるようにしたいと考えています。さらに、アプリのオーディオがミュート スイッチを尊重するようにします。開発者のドキュメントによると、この機能はすべて AVAudioSession アンビエント カテゴリで有効にする必要があります。これは私が使用しているコードです:
if (!hasInitialisedAudioSession) {
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryAmbient error:NULL];
[session setActive:YES error:NULL];
hasInitialisedAudioSession = YES;
}
コードは問題なく実行されており、実際にアプリのサウンドを iPod の音楽で再生できます。ただし、ミュート スイッチを尊重することはできません。Objective-C 呼び出しの代わりに、このコードを同様の C オーディオ呼び出し (AudioSessionSetProperty のようなもの) に交換しようとしましたが、同じ結果が得られます。ドキュメントには、そうすべきだと書かれています。
何か案は?助けてくれてありがとう :)