我正在尝试为我的游戏设置背景铃声,该铃声应该从主场景开始,然后即使在其他场景下也不断循环播放。
这是我的班级样子:
class AudioPlayer: AVAudioPlayer {
var audioPlayer: AVAudioPlayer? = AVAudioPlayer()
let ost = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("bkg", ofType: "mp3")!)
func playOst() {
do {
audioPlayer = try AVAudioPlayer(contentsOfURL: ost)
}
catch {
audioPlayer = nil
}
audioPlayer?.prepareToPlay()
audioPlayer!.play()
audioPlayer!.numberOfLoops = -1
}
func stopOst() {
audioPlayer!.stop()
}
由于我将播放方法放在家庭场景中,因此每次加载时它将开始播放新的曲目,将一个曲目叠加在另一曲目上会导致混乱。我该如何预防?
使您的音频播放器类成为单例,或让AppDelegate照管它。这也使您可以随时控制应用程序中任何场景/屏幕上的音乐。
每当加载主屏幕时,请检查音乐是否已经在播放,如果没有,请致电playOst,否则什么也不做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句