AudioServicesPlaySystemSound不播放声音

AudioServicesPlaySystemSound不播放声音

问题描述:

我正在播放使用AudioToolBox的小型.wav文件。AudioServicesPlaySystemSound不播放声音

AudioServicesPlaySystemSound (soundFileObject); 

但有时它不是在玩。

是什么原因?

如果您在模拟器中,请确保在系统预置→声音中未关闭“播放用户界面声音效果”。如果您在设备上,请检查铃声开关未设置为无声。

+0

我找不到任何“系统偏好设置”。他们是在模拟设备还是在模拟器应用程序中? – 2012-01-09 00:03:43

+0

我的意思是在Mac OS X上,在您计算机的系统偏好设置中。 – lucius 2012-01-31 22:52:15

+0

我永远不会想到这一点 - 谢谢! – 2013-01-30 23:02:12

系统偏好设置→声音→[x]播放用户界面声音 - 此复选框对我也有帮助,它解决了AudioServicesPlaySystemSound(_)问题。但值得注意的是,示例Apple Xcode项目“SysSound”工作得很好,没有选中此框。我使用Xcode 4.4.1从头开始创建自己的应用程序。用较老的和较新的Xcode工具创建的项目可能会有不同之处吗?

+0

SysSound示例适用于AudioServicesPlayAlertSound按钮,但不适用于AudioServicesPlaySystemSound按钮。尽管它们是相同的声音。 – samkass 2012-10-07 04:03:23

+0

@samkass你是对的 – Jacky 2015-01-22 00:13:16

也许是this的问题? AudioServicesDisposeSystemSoundID()将在播放前停止声音工作。

在设备上,进入设定,并开启了对Sounds->铃声音量和警报

大厦user1056521的回答,请使用以下代码:

AudioServicesPlaySystemSoundWithCompletion(soundID, ^{ 
    AudioServicesDisposeSystemSoundID(soundID); 
}); 

其中soundIDSystemSoundID值当你打电话给AudioServicesCreateSystemSoundID()时你会得到。

完成块确保声音在处理之前播放并完成播放。