作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的应用程序使用 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/
如何使用 Blazor 在 Linux 平台下运行 Desktop 程序 本文将讲解如何使用 Blazor 运行跨平台应用,应用到的技术有以下几点 Blazor
低并发的友友们好,我是闪客。 Lambda 表达式非常方便,在项目中一般在 stream 编程中用的比较多。 List<Student> studen
我是一名优秀的程序员,十分优秀!