在spritekit中,其实并没有提供播放背景音乐的方法,但是,我们可以通过AVFoundation实现。
新建一个music.swft文件,代码如下
import AVFoundation
var backgroundMusicPlayer: AVAudioPlayer!
func playBackgroundMusic(filename: String) {
let url = NSBundle.mainBundle().URLForResource(filename, withExtension: nil)
if (url == nil) {
print("Could not find file: \(filename)")
return
}
backgroundMusicPlayer = try! AVAudioPlayer(contentsOfURL: url!)
if backgroundMusicPlayer == nil {
print("no nusic")
return
}
backgroundMusicPlayer.numberOfLoops = -1
backgroundMusicPlayer.prepareToPlay()
backgroundMusicPlayer.play()
}
然后在GameScene.swft文件中加入如下代码播放和停止播放背景音乐
override func didMoveToView(view: SKView) {
//播放背景音乐
playBackgroundMusic("bg.wav")
//停止播放背景音乐
backgroundMusicPlayer.stop()
}