音乐没有与AVAudioPlayer循环

时间:2014-12-11 11:20:01

标签: objective-c audio sprite-kit avaudioplayer

在我的" 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];

1 个答案:

答案 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

我不知道为什么你的装载屏幕不会消失,
因为您还没有包含任何与之相关的代码。

但上述内容将解决您的音乐问题。