我希望我的应用程序通过URL
播放通知声音。我的自定义声音文件位于特定的工作URL
。所以,我希望我的应用程序使用该链接通知用户有关通知。
我已尝试AVPlayer
,因为它通过网址Check this播放声音文件
AVPlayer
代码在我使用[self playselectedsong]
didFinishLaunchingWithOptions
AppDelegate
和viewDidLoad
函数中的didReceiveRemoteNotification
(上面链接中提供的plz检查代码)调用时正常工作其他观点。
每当通知(URL
)带有音频文件AVPlayer
,然后我添加到{{1}}时,声音就不会播放。只显示文本通知。
答案 0 :(得分:0)
声音必须来自应用包中的文件。
声音 | string |应用程序包中声音文件的名称。这个文件中的声音是 作为警报播放。如果声音文件不存在或默认为 指定为值,播放默认警报声....
请参阅Apple参考here
答案 1 :(得分:0)
对于iOS中的远程通知,您可以指定自定义声音 iOS播放时会播放本地或远程通知 应用。声音文件必须位于客户端的主包中 应用
播放时,自定义声音必须低于30秒。如果是自定义声音 超过该限制,而是播放默认的系统声音。
我希望它可以帮助你。
答案 2 :(得分:0)
据说,现在可以播放来自远程文件的音频。如果消息被删除,我将在此处复制消息的内容。 https://forums.developer.apple.com/thread/118404
KevinE于2019年7月30日5:11 PM正确回答
您的应用应如何运作的细节差异很大 取决于您的特定用例和应用设计,但我们的一般 建议您使用即按即说应用程序 标准的推送通知,而不是用于消息传递的PushKit。 更具体地说,在接收方,您的通知服务 扩展程序应下载相关音频并将该音频附加到 您的特定邮件。
为了支持该方法,从iOS 13开始,系统会寻找 应用程序组容器中可能存在的声音文件以及 预先存在的搜索位置。该文档尚未更新 为此(),但是有头文件 描述注释详细信息的文档 “ UNNotificationSound.h”中的“ soundNamed:”:
//要为通知播放的声音文件。声音一定是 在应用程序数据容器的“库/声音”文件夹中或 应用程序组数据容器的“库/声音”文件夹。如果文件是 在容器中找不到,系统将在应用程序的捆绑包中查找。
详细说明一下,我们在下面查找声音文件 订单和位置:
- 您的应用程序将容器直接放置在“库/声音”中。
- 您的应用程序组目录位于名为“库/声音”的目录中
- 您的应用捆绑包
这里要牢记的主要内容:
目录2是“库/声音”,而不仅仅是“声音”。你需要 创建一个“ Library”目录,其中包含“ Sounds”目录,而不是 只是一个“声音”目录。应用程序直接容器仍然是 我们将排名第一,因此您需要注意自己的工作方式 为文件命名。我建议使用组目录 对于所有声音或遵循两种不同的命名约定 位置,使其永不碰撞。您的网络服务扩展 无法查看目录#1的内容,因此无法知道是否或 没有一个特定的名称会发生冲突。