1

ゲーム/アプリでいくつかのサンプルを再生したいところまで来ました。私の本能は、openAL を使用すると言います... 一度に複数のサンプルを再生する必要があり (ただし、2 または 3 を超えないように)、サンプルが短くなります (2 または 3 秒)。

私の質問は、その基準を考慮して、iPhone でサンプルを再生する最良の方法は何ですか?

4

1 に答える 1

2

これは私が使用しているサンプルコードの一部です:

最初のオプション:

これを .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];

最初のオプションは、比較的短い効果音に非常に便利です。

于 2009-04-03T16:57:01.660 に答える