在UILocalNotification中播放录制的音频

时间:2012-06-02 05:40:39

标签: iphone ios ipad audio uilocalnotification

我正在处理AlarmClock应用程序。在此用户记录他/她的声音并设置闹钟。为此我使用UILocalNotification,在此我想要在警报到来时设置录制的声音。 问题在于设置声音到UILocalNotification.I冲浪,发现你必须将记录文件保存在应用程序的主包而不是文档目录中。所以我在应用程序的主包中冲浪写入文件,我发现你无法写入文件主要包。

所以请告诉我有关如何在收到通知时播放录制的音频的建议。

http://itunes.apple.com/sg/app/aida-reminder-lite-voice-reminders/id469454389?mt=8&ls=1

此应用程序可以正常工作,具有我想要的相同功能。

2 个答案:

答案 0 :(得分:3)

我认为这是不可能的。 UINotification只能在主包中搜索自定义声音资源,并且无法在运行时写入主包。

答案 1 :(得分:0)

iOS 10 开始,您可以将声音文件用于Library/Sounds目录中的通知。

查看UNNotificationSound.h头文件,方法的描述注释:

public convenience init(named name: String)

表示:

  

要为通知播放的声音文件的名称。声音   文件必须包含在应用程序包或库/声音中   应用程序数据容器的文件夹。如果两个位置都存在文件   然后首选应用程序数据容器中的文件。

因此,如果您要将外部声音文件放入Library/Sounds文件夹进行任何更改,您可以:

let content = UNMutableNotificationContent()
content.title = "Title"
content.subtitle = ""
content.body = "Message"
content.userInfo = nil
content.sound = UNNotificationSound.init(named: "sound-from-server.m4a")
// ...