当我告诉它时,为什么这个背景音乐会停止?

时间:2014-04-02 23:54:48

标签: ios iphone objective-c sprite-kit

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

以下是代码:

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

我希望音乐能够在玩家死亡的第二天停止,而不是完成动作。我怎么能这样编码呢?我曾假设[self removeAllActions];会这样做吗?我可以打电话来立即停止它吗?

感谢。

1 个答案:

答案 0 :(得分: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]