我正在处理AlarmClock应用程序。在此用户记录他/她的声音并设置闹钟。为此我使用UILocalNotification,在此我想要在警报到来时设置录制的声音。 问题在于设置声音到UILocalNotification.I冲浪,发现你必须将记录文件保存在应用程序的主包而不是文档目录中。所以我在应用程序的主包中冲浪写入文件,我发现你无法写入文件主要包。
所以请告诉我有关如何在收到通知时播放录制的音频的建议。
http://itunes.apple.com/sg/app/aida-reminder-lite-voice-reminders/id469454389?mt=8&ls=1
此应用程序可以正常工作,具有我想要的相同功能。
答案 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")
// ...