【发布时间】:2023-04-03 10:21:01
【问题描述】:
我正在开发一个使用推送通知的 iPhone 应用程序。
在有效负载中,我指定了一些内容:
- 消息正文
- 声音
- action-loc-key 因为我不希望用户能够从通知中启动应用程序
通知可以很好地发送到我的 iPhone。它显示一条没有按钮的消息。所以 body 和 action-loc-key 工作得很好。但是,它没有播放任何声音。
但是,在故障排除过程中我注意到了几件事:
- 如果我实现 application:didReceiveRemoteNotification,一切看起来都很好。 Dictionary 参数包含一个声音键,其值确实是我要播放的文件的名称。
- 声音文件本身“有效”,因为如果我在应用程序内部播放它(使用 BubbleLevel 示例中的 SoundEffect 类),它就可以正常工作。
尽管有这两个事实,但声音效果根本无法播放。
在设置应用程序中,一切正常 - 为我的应用程序打开了推送,我也将“声音”和“警报”都设置为打开状态。
iPhone 文档中心建议使用 Quicktime 查看文件的格式。这就是它的样子。
最后,如果我在 XCode 中查看此文件的信息,它会说文件类型只是默认的“文件”。据我所知,列表中没有 audio-caf 选项。我尝试了audio-WAV(音响工程师告诉我原始文件是WAV),但这并没有改变任何东西。
另外,代码:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// view controller set up stuff
// ...
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
}
【问题讨论】:
-
我认为您需要实际读取该文件并将其与警报一起通过无线方式发送,而不是将其存储在应用程序中。
-
通过 JSON 发送音频文件?什么?
标签: iphone audio push-notification