1

サウンド ファイルを続けて 3 回再生したい。ただし、再生は1回のみです。[crashSound play]が 2 回目に呼び出されたとき、サウンドの再生が終了していないため、後続の呼び出しは失われると思います。どうすれば修正できますか。つまり、現在の再生が終了したら、同じファイルが再び再生されるようにするにはどうすればよいですか?

@interface Game()
{
    // code...

    AVAudioPlayer *crashSound;

    // code...
}
@end

@implementation Game

- (id) init 
{ 
    // code...

    NSBundle *bundle = [NSBundle mainBundle];
    NSURL *crashSoundFile = [bundle URLForResource: @"crashSound" withExtension: @"wav"];
    crashSound = [[AVAudioPlayer alloc] initWithContentsOfURL:crashSoundFile error:NULL];

    // code...
}
-(void) play // this is my "main" method that will be called once the playButton is pressed
{
   [crashSound play];[crashSound play];[crashSound play];

}
@end
4

1 に答える 1

2

私は解決策を見つけたので、誰かが同じ問題を抱えている場合に備えて、ここで私は一人で自分の質問に答えています。:)

crashSound.numberOfLoops = 3;crashSound の初期化の下に追加すると、crashSound が 3 回再生されます。

crashSound.numberOfLoops = -1;crashSound の初期化の下に追加することで、[crashSound stop]メソッドが呼び出されるまで、crashSound が無期限に再生されます。

https://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVAudioPlayerClassReference/Reference/Reference.html

于 2012-08-09T19:41:47.143 に答える