Objective c 使用AVAudioPlayer框架播放完相同的声音后,如何再次播放?
我希望我的声音文件在随后播放三次。但是,它只播放一次。 我猜当第二次调用Objective c 使用AVAudioPlayer框架播放完相同的声音后,如何再次播放?,objective-c,ios,avaudioplayer,Objective C,Ios,Avaudioplayer,我希望我的声音文件在随后播放三次。但是,它只播放一次。 我猜当第二次调用[crashSound play]时,声音还没有播放完,因此任何后续调用都会丢失。我怎样才能解决这个问题。i、 e.如何使同一文件在完成当前播放后再次播放 @interface Game() { // code... AVAudioPlayer *crashSound; // code... } @end @implementation Game - (id) init { //
[crashSound play]
时,声音还没有播放完,因此任何后续调用都会丢失。我怎样才能解决这个问题。i、 e.如何使同一文件在完成当前播放后再次播放
@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
我找到了一个解决方案,所以我在这里独自回答我自己的问题,以防有人遇到同样的问题。:) 通过添加
crashSound.numberOfLoops=3代码>在crashSound初始化下,crashSound将播放3次
通过添加crashSound.numberOfLoops=-1代码>在碰撞声初始化下,碰撞声将无限期播放,直到调用[crashSound stop]
方法