【问题标题】:Why won't this background music stop when I tell it to?当我告诉它时,为什么这个背景音乐不会停止?
【发布时间】:2014-04-08 22:08:48
【问题描述】:

为 iOS 7 编写一个游戏,我设置它让音乐连续播放。我还进行了设置,以便在播放器死亡时停止音乐,但它会继续播放音乐,直到音乐片段完成。 (澄清一下,这个剪辑是 7 秒长,例如​​,如果音乐在 0:03 结束,它将继续进入下一个场景,直到它到达 7)

代码如下:

[self runAction:[SKAction repeatActionForever:[SKAction playSoundFileNamed:@"bgmusic.m4a" waitForCompletion:YES]]];
if (_dead == YES) 
       [self removeAllActions];
}

我希望音乐在玩家死亡的那一刻停止,而不是完成动作。我如何对其进行编码以便它这样做?我曾假设[self removeAllActions]; 会这样做?有什么特定的东西我可以调用来立即停止它吗?

谢谢。

【问题讨论】:

  • 您是否尝试将 waitForCompletion: 参数更改为 NO?
  • 是的,由于 repeatActionForever @0x7fffffff,这不起作用

标签: ios iphone objective-c sprite-kit


【解决方案1】:

尝试使用此代码 (AVAudioPlayer)...

NSURL * backgroundMusicURL = [[NSBundle mainBundle] URLForResource:@"warmovie" withExtension:@"caf"];
self.backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:backgroundMusicURL error:&error];
self.backgroundMusicPlayer.numberOfLoops = -1;
[self.backgroundMusicPlayer prepareToPlay];
[self.backgroundMusicPlayer play];

停下来……

[self.backgroundMusicPlayer stop]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 2016-12-29
    • 2021-06-22
    相关资源
    最近更新 更多