ゲーム/アプリでいくつかのサンプルを再生したいところまで来ました。私の本能は、openAL を使用すると言います... 一度に複数のサンプルを再生する必要があり (ただし、2 または 3 を超えないように)、サンプルが短くなります (2 または 3 秒)。
私の質問は、その基準を考慮して、iPhone でサンプルを再生する最良の方法は何ですか?
これは私が使用しているサンプルコードの一部です:
最初のオプション:
これを .h ファイルで定義しました
SystemSoundID topClick;
そして、私の .m ファイルで、最初にサウンド (aiff ファイル) をロードします。
NSBundle* bundle = [NSBundle mainBundle];
NSString *topClickFile = [bundle pathForResource:@"top_click" ofType:@"aiff"];
次に、サウンドを再生したいときは、次を使用します。
AudioServicesPlaySystemSound(topClick);
2番目のオプション:
AVAudioPlayer を使用することもできます (ファームウェア 2.2 以降で利用可能だと思います):
NSString *graffitiSprayFile = [bundle pathForResource:@"sound_effect" ofType:@"aiff"];
AVAudioPlayer* sprayAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:graffitiSprayFile] error:NULL];
sprayAudio.delegate = self;
[sprayAudio prepareToPlay];
[sprayAudio setNumberOfLoops:999];
最初のオプションは、比較的短い効果音に非常に便利です。