objective-c - 音乐未与AVAudioPlayer循环播放

标签 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];

最佳答案

我认为您的“循环”方法不正确...

您无需为此创建操作,
只需尝试将代码更改为此-

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/

相关文章:

ios - NSDate 比较两个日期不起作用

java - 适用于 Android 的低延迟音频 API?

ios - 我正在尝试在 ios 中流式传输以下 url,但它不会播放

objective-c - addChild 方法是同步完成还是异步完成?

iphone - 如何只获取对象 ID,还包括 CoreData 中的行数据?

objective-c - UILabel 文本没有改变,但是 xx.title 正在工作

ios - Objective-C - 接收器类型 'NSInteger'(又名 'long')不是 Objective-C 类 & 接收器类型 'NSDecimal' 不是 Objective-C 类

ios - EZMicrophone EXC_BAD_ACCESS

sprite-kit - 在 Sprite Kit 中停止节点旋转

ios - 此类不是键值编码兼容的键