我正在使用AudioToolBox播放一个小的.wav文件。
AudioServicesPlaySystemSound (soundFileObject);
但有时它不会播放。
是什么原因?
答案 0 :(得分:15)
如果您在模拟器中,请确保在System Prefrences→Sound中,“播放用户界面音效”未关闭。如果您在设备上,请检查振铃开关是否未设置为静音。
答案 1 :(得分:5)
也许这是this问题? AudioServicesDisposeSystemSoundID()
将在播放前停止声音工作。
答案 2 :(得分:2)
系统偏好设置→声音→[x]播放用户界面声音 - 此复选框也对我有帮助,它解决了AudioServicesPlaySystemSound(_)问题。但值得注意的是,样本Apple Xcode项目“SysSound”工作得很好而没有选中此框。我正在使用Xcode 4.4.1从头开始创建自己的应用程序。使用较旧和较新的Xcode工具创建的项目之间是否存在差异?
答案 3 :(得分:2)
在user1056521的答案基础上,使用以下代码:
AudioServicesPlaySystemSoundWithCompletion(soundID, ^{
AudioServicesDisposeSystemSoundID(soundID);
});
其中soundID
是您拨打SystemSoundID
时获得的AudioServicesCreateSystemSoundID()
值。
完成功能块确保声音在处理之前播放并完成播放。
答案 4 :(得分:0)
在设备上,进入设置并调高Sounds-> Ringer and Alerts
上的音量答案 5 :(得分:0)
对于以后访问此问题的人,
AudioServicesPlaySystemSoundID()
的音量基于0.1 ~ 1.0
范围内的系统Ringer,而不是mediaVolume
AudioServicesPlayAlertSoundID()
的音量基于系统振铃,范围约为0.3 ~ 1.0