gpt4 book ai didi

ios - 当应用程序在后台运行时停止音乐(即当按下主页按钮时)

转载 作者:可可西里 更新时间:2023-11-01 01:37:05 26 4
gpt4 key购买 nike

您好,我用 swift 构建了一个带有背景音乐的基本游戏。游戏有多个 ImageView 。我用下面的代码播放音乐。如果用户使用主页按钮退出应用程序,我该如何停止音乐。就像现在一样,即使用户按下主页按钮,音乐也会继续播放。背景音乐贯穿所有 ImageView ,这正是我想要的。

    func playBackgroundMusic(thesong: String) {
let url = NSBundle.mainBundle().URLForResource(thesong, withExtension: nil)
guard let newURL = url else {
print("Could not find file: \(thesong)")
return
}
do {
backgroundMusicPlayer = try AVAudioPlayer(contentsOfURL: newURL)
backgroundMusicPlayer.numberOfLoops = -1
backgroundMusicPlayer.prepareToPlay()
backgroundMusicPlayer.play()
} catch let error as NSError {
print(error.description)
}
}

playBackgroundMusic("thesong.mp3")

最佳答案

您可以像这样在 Controller 中使用观察者:

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("pauseSong:"), name:UIApplicationDidEnterBackgroundNotification, object: nil)

当您的 Controller 检测到您的应用程序何时在后台运行时调用此函数:

func pauseSong(notification : NSNotification) {
backgroundMusicPlayer.pause()
}

然后,当您的应用再次打开时,添加另一个观察者来播放歌曲:

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("playSong:"), name:UIApplicationWillEnterForegroundNotification, object: nil)

然后调用这个函数:

func playSong(notification : NSNotification) {
backgroundMusicPlayer.play()
}

希望对你有帮助;)

关于ios - 当应用程序在后台运行时停止音乐(即当按下主页按钮时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35928618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com