2009-04-03 6 views
0

私は自分のゲーム/アプリでいくつかのサンプルを再生したいところに達しました。私の本能はopenALを使っていると言っています...複数のサンプルを一度に演奏しなければならない状況がありますが(2〜3まで)、サンプルは短くなります(2〜3秒)。iPhoneでサウンドサンプルを再生する

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

答えて

2

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

第一オプション:

を私は

SystemSoundID topClick; 

そして、私の.mファイルで私の.hファイルでこれを定義しました火災がサウンドをロードする(aiffファイル):

NSBundle* bundle = [NSBundle mainBundle]; 
NSString *topClickFile = [bundle pathForResource:@"top_click" ofType:@"aiff"]; 

次に、私が使用し、サウンドを再生したい:

AudioServicesPlaySystemSound(topClick); 

第二オプション:

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]; 

最初:

あなたはまた、AVAudioPlayerを(私が思うファームウェア2.2以降で利用可能)使用することができますオプションは、比較的短いサウンド効果のために非常に使用可能です。

+1

AVAudioPlayerは複数のcaf、aiff、wavファイルを再生できますが、一度に1つのmp3しか再生できません(ゲームエフェクトではmp3を使用しないでください)。 –

+0

また、ループ数を-1に設定すると、サンプルが永久に繰り返されます。 – Rich

+0

AudioServicesCreateSystemSoundIDへの呼び出しが必要ですか? – Bill

関連する問題