在我的" 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];
答案 0 :(得分:0)
我不认为你的循环方式是'是对的......
你不需要为此创建一个动作,
只需尝试将代码更改为此 -
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
。
我不知道为什么你的装载屏幕不会消失,
因为您还没有包含任何与之相关的代码。
但上述内容将解决您的音乐问题。