gpt4 book ai didi

swift - 如何检查 NSSound 是否在 Swift 中暂停

转载 作者:行者123 更新时间:2023-11-30 13:44:57 25 4
gpt4 key购买 nike

我能够使用 NSSound 快速播放声音:

var path ="/path/to/file.mp3"
mysound = NSSound(contentsOfFile: path, byReference: false)

mysound!.play() // works!

if (mysound!playing)
{
mysound!.pause() //works, sort of
}

mysound!playing // is still true.

如何检查它是否已暂停?

文档显示,如果播放已经暂停,pause() 应该返回 false,但情况似乎并非如此,或者我做错了什么

我希望能够做到这一点:

var path ="/path/to/file.mp3"
mysound = NSSound(contentsOfFile: path, byReference: false)

if (mysound!playing)
{
var state = mysound!.pause()
if(state == false)
{
mysound!.resume() //never gets executed - why?
}

} else {
mysound!.play()
}

我需要一些帮助来解决这个问题!谢谢!

最佳答案

只有当你调用pause()并且它返回true时,声音才会暂停。该文档不符合条件,但暂停的 NSSound 在技术上可能仍会返回 true 进行播放。如果播放被认为是“没有停止”,那么这是有意义的。

由于您会知道是否已调用过暂停(),因此您可以存储另一个 Bool isPaused 并使用它。

在第二个示例中,您没有调用 play(),因此 playing 将始终返回 false。

关于swift - 如何检查 NSSound 是否在 Swift 中暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35076844/

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