在主菜单实现文件的“initWithSize”中,我输入了播放音乐的代码。我弹出了一个加载屏幕,然后加载了主菜单场景。当加载屏幕弹出时,它开始播放音乐,但是加载屏幕永不消失,我希望音乐循环播放并且不循环播放。我真的不知道这是怎么回事。
NSError *error;
NSURL *soundURL = [[NSBundle mainBundle] URLForResource:@"POL-parallel-fields-short" withExtension:@"mp3"];
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error];
[player setVolume:0.1];
[player prepareToPlay];
SKAction* playAction = [SKAction runBlock:^{
[player play];
}];
SKAction *playMusic = [SKAction repeatActionForever:playAction];
[self runAction:playMusic];
最佳答案
我认为您的“循环”方法不正确...
您无需为此创建操作,
只需尝试将代码更改为此-
NSError *error;
NSURL *soundURL = [[NSBundle mainBundle] URLForResource:@"POL-parallel-fields-short" withExtension:@"mp3"];
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error];
[player setVolume:0.1];
[player prepareToPlay];
player.numberOfLoops = -1;
[player play];
numberOfLoops
是一个属性,用于设置音频播放的循环次数。根据Apple的文档,默认值为0,它将播放一次音频。
任何正数将设置它将播放的次数。
任何负数都将导致音乐无限循环,直到明确调用
stop
。我不知道为什么您的载入画面没有消失,
由于您尚未包含与其相关的任何代码。
但是以上内容将解决您的音乐问题。
关于objective-c - 音乐未与AVAudioPlayer循环播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27421618/