2016-06-07 234 views

回答

1

UILocalNotification只接受声音文件名,而不是文件路径。而对于soundName的文档解释,这个文件一定是“......在应用程序的主束......”。获取路径的系统声音文件是没有用的与UILocalNotification因为该文件是不是在你的应用程序的主束,因为你不能告诉UILocalNotification看别的地方。

+0

所以这是不可能的? – R3ptor

+0

这就是我要说的。如果您想通过本地通知使用声音,该声音必须位于您的应用程序包中。 –

+0

有没有办法导入这些系统声音,以便我可以将它添加到捆绑包中? – R3ptor

0

为您的UILocalNotification soundName财产

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

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

+0

这就是我所做的。就像你在我的问题中看到的一样。 – R3ptor

+0

检查您的音频文件的路径,它们需要捆绑在您的应用程序 – iSashok

+0

音频文件位于每个iOS设备上。所以我没有进口任何东西 – R3ptor

0

我写给你在原来的文章链接到回购。

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

0

当然可能,您只需将您需要的自定义声音移动到此路径: Library/Sounds ,,,默认情况下Sounds文件夹不在库下,因此您需要创建它,然后复制任何自定义声音文件(无论是下载到文件,然后复制或复制系统声音)到这个目录,如我所说的库/声音。根据苹果公司的说法,声音文件应该捆绑在一起(如果随应用程序一起提供)或者只在这个目录库/声音中。在iOS 10之前和iOS 10之后,您可以将任何扩展名的声音文件名分配给本地通知中的声音名称属性,您可以将ti指定给内容声音名称构造函数。我之前尝试过几次,都是通过播放来自远程服务器或系统声音的本地和远程通知工作的。如果您需要任何帮助,将其用于任何快速版本或Objective-C中,欢迎您。