您好,我想知道是否有一种方法可以在多个场景中使用 AVAudioPlayer 并更改音量。我目前将其放置在我的 gameViewController 中,它是我的应用程序所有场景的控制器:
override func viewDidAppear(animated: Bool) {
let backgroundMusicURL = NSBundle.mainBundle().URLForResource("tempMusic.mp3", withExtension: nil)
backgroundMusicPlayer = AVAudioPlayer(contentsOfURL: backgroundMusicURL, error:nil)
backgroundMusicPlayer.numberOfLoops = -1
backgroundMusicPlayer.prepareToPlay();
backgroundMusicPlayer.play();
}
这按预期工作,但我无法控制场景本身的音量。
那么,有没有一种方法可以让背景音乐在多个场景中流畅播放,并且在这些场景中仍然可以调节音量呢?
好吧,我使用马特提供的链接让它工作(所以这篇文章的未来观众投票他的评论)。
if let vc = UIApplication.sharedApplication().keyWindow?.rootViewController as? GameViewController{
vc.setMusicVolume(Float(hexData.musicVolume)/100.0);
}
我现在从场景本身访问 rootViewController。我将其放在 if 语句中只是作为预防措施。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)