0

私は、正方形が動くたびに効果音を実行する正方形を動かす単純なゲームでコーディングしています。(歩く音のように)

効果音の再生に問題があり、ディスプレイの更新が遅れます。まるでエンジンの性能が高すぎるかのように。繰り返し音を適切に再生する方法があるかどうかを尋ねていましたが、継続的に音を出すことはできません(これは実際にはループではありませんが、ウォーキングが無限である場合は可能性があります)

ここに私の関数:...オーディオオブジェクトを初期化した方法

moveSound = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];

そしてここでそれが呼び出される関数

...
 {
  moveSound.currentTime = 0;
  [moveSound play];
 } 

'それを行うための良い方法はありますか?どうも

4

2 に答える 2

1

低遅延オーディオを取得するには、おそらくCoreAudio APIを調べる必要があります。

コードは次のようになります。

NSString *audioPath = [[NSBundle mainBundle] pathForResource:@"NameOfSound" ofType:@"caf"];
NSURL *audioURL = [NSURL fileURLWithPath:audioPath];
SystemSoundID soundId;
AudioServicesCreateSystemSoundID((CFURLRef)audioURL, &soundId);

その soundId は、作成したサウンドへのハンドルとして機能するため、再生する必要があるときはいつでも呼び出します

AudioServicesPlaySystemSound(soundId);
于 2010-05-25T19:51:57.077 に答える
0

私はこれを見つけました:

Blockquote -(void)setSound {

CFBundleRef mainBundle = CFBundleGetMainBundle ();

CFURLRef soundFileURLRef = CFBundleCopyResourceURL (
                                            mainBundle,
                                            CFSTR ("squareMove"),// à mettre dans un xml ou plist
                                            CFSTR ("caf"),
                                            NULL
                                            );

AudioServicesCreateSystemSoundID (
                                  soundFileURLRef,
                                  &soundFileObject
                                  );
CFRelease(soundFileURLRef);

}

そして私は次のような音を演奏します

AudioServicesPlaySystemSound (soundFileObject);

midiが作れないのが残念

于 2010-06-10T13:36:59.043 に答える