【问题标题】:Play recorded audio in UILocalNotification在 UILocalNotification 中播放录制的音频
【发布时间】:2012-06-02 05:40:38
【问题描述】:

我正在开发 AlarmClock 应用程序。在这个用户中记录他/她的声音并设置警报。为此我使用 UILocalNotification 并且我想在警报出现时设置录制的声音。 问题出在 UILocalNotification 的设置声音中。我为此冲浪,发现您必须将录制的文件保存在应用程序的主包中而不是文档目录中。所以我在应用程序的主包中搜索写入文件,发现您无法在其中写入文件主包。

所以请给我建议当通知到来时如何播放录制的音频。

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

此应用程序与我想要的功能相同。

【问题讨论】:

标签: iphone ios ipad audio uilocalnotification


【解决方案1】:

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

【讨论】:

  • 是的,我也这么认为,但在 iTunes 的“aida 提醒”应用程序中,我认为它可以在付费版本中使用。所以我不确定它是否可能......谢谢您的回复。
【解决方案2】:

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")
// ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    相关资源
    最近更新 更多