为UILocalNotification播放系统声音

时间:2016-06-07 17:45:30

标签: ios swift uilocalnotification

我在GitHub上找到了这个项目:iOS Sounds and Ringtones

有没有办法为localNotification.soundName播放其中一种声音?

所以我得到了"/Library/RingtonesApex.m4r"

的字符串

但它仍会播放默认通知声音。

4 个答案:

答案 0 :(得分:1)

UILocalNotification仅接受声音文件名,而不接受文件路径。并且soundName的文档解释了此文件必须是" ...在应用的主要包中..." 。获取系统声音文件的路径对于UILocalNotification没有用,因为该文件不在您应用的主要捆绑包中,并且因为您无法告诉UILocalNotification查看其他地方

答案 1 :(得分:1)

当然可以,您只需要将所需的自定义声音移动到此路径: 库/声音,,,默认情况下,声音文件夹不在库下,所以你需要创建它,然后复制任何自定义声音文件(下载到文档然后复制或复制系统声音)到这个目录,就像我说的库/声音。根据Apple的说法,声音文件应该是捆绑(如果是随应用程序一起提供)或仅在此目录库/声音中。在iOS 10之前,您可以在本地通知中仅为声音名称属性分配声音文件名,并且在iOS 10之后,您可以将ti指定给内容声音名称构造函数。我之前尝试过几次,都通过播放来自远程服务器或系统声音的声音来进行本地和远程通知。如果您需要任何帮助,可以在任何快速版本或目标c中使用它,欢迎您。

答案 2 :(得分:0)

为您的UILocalNotification soundName属性设置

UILocalNotification *localNoti = [UILocalNotification alloc] init];
localNoti.soundName = @"your sound with file format (exmpl.m4r)";

确保您的声音不超过30秒。这是声音长度的限制 希望这个帮助

答案 3 :(得分:0)

我在原帖中写了你链接的回购。

不幸的是,您无法在localNotification中引用声音的路径。您必须将应用程序包中的文件(即附加到您应用程序的.MP3文件)用作自定义声音。