ゲームで使用するサウンドをいくつか作成しました。特定のイベントで問題なくプレイできます。
// create sounds
CFBundleRef mainBundle;
mainBundle = CFBundleGetMainBundle();
_soundFileShake = CFBundleCopyResourceURL(mainBundle, CFSTR("shake"), CFSTR("wav"), NULL);
AudioServicesCreateSystemSoundID(_soundFileShake, &_soundIdShake);
// later...
AudioServicesPlaySystemSound(_soundIdShake);
このゲームには、デバイスを振って一部の機能を有効にできるメカニズムがあります。シェイク コードが完成したので、ゲームに「シェイク開始」および「シェイク終了」メッセージが表示されます。必要なのは、揺れが始まったときに「shave.wav」の再生を開始し、揺れが止まるまでループすることです。AudioToolbox/AudioServices でこれを行う方法はありますか? そうでない場合、どうすればこれを行うことができますか?