1

フレームが別のフレームに当たるとサウンドが再生されるので、did ローダーでこのコードを使用してサウンドがロードされるようにします

私はフレームワークを使用します

#import <AVFoundation/AVFoundation.h>

- (void)viewDidLoad

 NSString *path1 = [[NSBundle mainBundle] pathForResource:@"ballbounce" ofType:@"mp3"];
theaudio1 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path1] error: NULL];

次に、これを使用してサウンドを再生します

[audio1 play];

サウンド クリップの長さはわずか 0.7 秒で、単純なノイズが発生するだけです。

お気に入り

enemy.center = CGPointMake(enemy.center.x+pos.x,enemy.center.y+pos.y);

    if (enemy.center.x > 308 || enemy.center.x < 10)

    {
        [theaudio1 play];
        pos.x = -pos.x;

    }
    if (enemy.center.y > 400 || enemy.center.y < 100)
    {
        [theaudio1 play];
        pos.y = -pos.y ;
    }

サウンドが立て続けに再生されることもあれば、再生されないこともあります。このコードを記述するためのより良い方法はありますか?

4

1 に答える 1

0

を呼び出す前に、インスタンスでprepareToPlayメソッドを呼び出します。オーディオプレーヤーのバッファをプリロードします。AVAudioPlayerplay

また、非常に短いサウンドであるため、可能であれば、プレーヤーを初期化してメモリから再生します。クラスのドキュメントのinitWithData:errorメソッドの説明を参照してください。AVAudioPlayer

于 2012-09-14T10:31:46.760 に答える