【问题标题】:How Do I check if NSSound is paused in Swift如何检查 NSSound 是否在 Swift 中暂停
【发布时间】:2016-01-29 04:23:34
【问题描述】:

我可以使用 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() 
}

我可以使用一些帮助来解决这个问题!谢谢!

【问题讨论】:

    标签: swift nssound


    【解决方案1】:

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

    既然你会知道你是否调用了 pause(),你可以存储另一个 Bool isPaused,然后使用它。

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

    【讨论】:

      猜你喜欢
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-22
      • 2021-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多