スクリーンロック時,バックグラウンド時にAudioUnitで音を鳴らすには,いくつかの設定が必要です.
・AudioSessionの設定
・info.plistの設定
・AudioUnitのPropertyの設定
以上3つ(多分)になります.
AudioSessionはカテゴリーを
kAudioSessionCategory_MediaPlayBack(←これ検索ワードでggrks)
info.plistに
App plays audio(←これ検索ワードでggrks)
AudioUnitPropertyを
UInt32 maximumFramesPerSlice = 4096;
AudioUnitSetProperty (generator,
kAudioUnitProperty_MaximumFramesPerSlice,
kAudioUnitScope_Global,
0,
&maximumFramesPerSlice,
sizeof (maximumFramesPerSlice));
(↑これ検索ワードでggrks笑)
に設定しましょう.特に3つ目に注意.
スクリーンロック中は,iPhoneの消費電力を抑えるために,
一度にコールバックするサンプル数を減らさなくてはいけないみたいです.
(リファレンスに書いてます)
とりあえず,上のコードを参考にしてください.
HOMEに戻る