我可以使用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进行播放。如果将playing
视为“未停止”,这将是有意义的。
由于您将知道是否调用了pause(),因此可以只存储另一个Bool isPaused
并使用它。
在第二个示例中,您没有调用play(),因此playing
将始终返回false。