如何访问默认iOS声音以将其设置为通知声音?

时间:2012-08-02 11:46:28

标签: iphone objective-c ios notifications uilocalnotification

如何将默认iOS声音(三音,钟声,玻璃,号角,贝尔,电子...)设置为本地通知声音?

我已创建本地通知,一切正常,但默认声音(三音)。我想使用Chime或其他

我只知道如何使用我自己的声音文件:

localNotif.soundName = @"sound.wav";

3 个答案:

答案 0 :(得分:12)

查看this网站。

如果您想播放默认系统声音。参考以下代码,但私有框架。你将被拒绝。

AudioServicesPlaySystemSound(1004);

并查看其他this示例代码(没有私有框架。支持Apple)。

答案 1 :(得分:3)

不幸的是,您的应用无法使用系统声音。来自the docs

  

注意:系统提供的警报声和系统提供的用户界面   您的iOS应用程序无法使用声音效果。例如,   使用kSystemSoundID_UserPreferredAlert常量作为参数   AudioServicesPlayAlertSound函数不会播放任何内容。

<强>更新

虽然Apple确实说你无法访问系统声音,但我认为它们必须意味着你不能出于自己的目的访问它们,但我看到UILocalNotification.h提供了:

UIKIT_EXTERN NSString *const UILocalNotificationDefaultSoundName; 

“标识显示通知警报时要播放的默认系统声音。将此值分配给soundName属性。”我现在在我的应用程序中使用它,它似乎工作正常。

答案 2 :(得分:2)

音频服务不是私密的。这些方法记录在开发人员参考指南中,并在Multimedia Programming guide中引用。

如果计算出你想要播放的声音的参考ID,你需要做的所有事情。