我可以用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()
}
我可以用一些帮助搞清楚这一点!谢谢!
答案 0 :(得分:0)
如果您调用pause()并且返回true,则只会暂停声音。文档没有资格,但是暂停的NSSound在技术上仍然可以在播放时返回。如果playing
被认为是"未停止"
因为你知道你是否已经调用了pause(),你可以只存储另一个Bool isPaused
,并使用它。
在第二个示例中,您没有调用play(),因此playing
将始终返回false。