問題は、AVAudioPlayer 自体が正常に動作することです。デバイスがサイレント モードでない場合 (サイレント/リンガー スイッチがオンになっている場合)、バックグラウンド ミュージックが再生されます。サイレントスイッチがオンの場合も、この状態を尊重し、BGM を再生しません。
ただし、AVAudioPlayer がサイレント モードで再生される特殊なシナリオの 1 つは、MPMoviePlayer でビデオを再生する場合です。
私のアプリでは、ムービーを再生する前に BG サウンドが最初に再生されます。
誰でも助けることができますか?これは、ムービーを再生するときにのみ発生します。
その他の詳細:
使用する BG ループ - m4a タイプ
使用するムービー タイプ - m4v
また、このシナリオは iOS 5 で繰り返し発生することもわかりましたが、最新バージョンでも発生することがあります。
Google、Apple のドキュメント、および SO のあらゆる場所を調査しましたが、この特定のシナリオに関しては何も見つかりませんでした。
AVAudioSession のカテゴリを明示的に AVAudioSessionCategoryAmbient に設定してから、setActive を呼び出してみました。(このsetCategory:withOptions:error
方法も試しましたが、何らかの理由でアプリがクラッシュしました-デバイスでテスト済み)
を使用しようとしたときに、デリゲートを設定してメソッドを実装しようとさえしましたAVAudioPlayerDelegate
。
誰か助けて?:(