gpt4 book ai didi

ios - 当我回到原来的VC时,音乐在歌曲上播放

转载 作者:行者123 更新时间:2023-12-01 22:19:23 28 4
gpt4 key购买 nike

我正在为我的应用程序使用 xcode 9 和 swift 4。在我的应用程序中,我在 viewDidLoad 中播放音乐。当我退出 View Controller 转到另一个 View 时,它会继续按应有的方式播放。然而,当我回到那个 View Controller 时,歌曲又开始播放了。这首歌与第一次加载的歌曲重叠。你们对如何阻止这种情况发生有任何想法吗?

do
{
let audioPath = Bundle.main.path(forResource: "APP4", ofType: "mp3")
try player = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: audioPath!) as URL)
}
catch
{
//catch error
}

let session = AVAudioSession.sharedInstance()

do
{
try session.setCategory(AVAudioSessionCategoryPlayback)
}
catch
{
}

player.numberOfLoops = -1
player.play()

最佳答案

它又开始播放了,因为你的 viewDidLoad再次调用,要求它再次播放。如果您已经进行了此调用,最简单的解决方法是保留一个静态 bool 变量来跟踪。

static var isMusicPlaying: Bool = false

在您的 viewDidLoad ,您可以将代码放在调用播放的代码之前。
guard !isMusicPlaying else {
return
}
isMusicPlaying = true

关于ios - 当我回到原来的VC时,音乐在歌曲上播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47030550/

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