在iOS 8 Beta 5中使用Swift播放系统声音

时间:2014-08-26 20:57:09

标签: ios ios8

我正试图在我的项目中使用swift来播放短暂的系统声音,但无法使其正常工作。我搜索了答案,不幸的是,即使他们为其他人工作,他们也没有为我工作。这是我的代码。

//System Keyboard Tock Sound
func playInputClick() {

    let filePath = NSBundle.mainBundle().pathForResource("Tock", ofType: "caf")
    let fileURL = NSURL(fileURLWithPath: filePath!)
    var soundID:SystemSoundID = 0
    AudioServicesCreateSystemSoundID(fileURL, &soundID)
    AudioServicesPlaySystemSound(soundID)

}

此代码的objective-c版本工作正常,现在swift版本对我不起作用,当试图播放声音时模拟器中没有发生任何事情,当我点击按钮在设备上播放时它会减慢敲击动作并且没有声音。 我无法弄清楚导致问题的原因,是它的测试版吗?但是对于这个论坛中的某些人来说,设备上的代码完全相同。也许这更多是关于在swift中调用C方法的问题。

这是来自系统日志:

[MPUSystemMediaControls] Updating supported commands for now playing application.

Failed to inherit CoreMedia permissions from 2743: (null)

1 个答案:

答案 0 :(得分:1)

重新安装X-Code解决了我的问题,我不知道出了什么问题。如果有人需要使用代码,上面的代码只适用于不在模拟器上的实际设备。