iOS App处于后台/被杀死的状态仍可进行语言播报的实现方案( 离线合成+Service Extension)
Posted iOS逆向
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS App处于后台/被杀死的状态仍可进行语言播报的实现方案( 离线合成+Service Extension)相关的知识,希望对你有一定的参考价值。
文章目录
引言
在杀死APP的情况下仍可进行语言播报的实现方案:ios 10新增的Service Extension,本文采用Service Extension并结合本地通知实现app处于后台/被杀死的状态仍可进行语言播报。
其他解决方案: 云喇叭播放语音
强烈推荐的方案: apns的payload中携带了需要合成的文本内容,通过离线语音合成库生成wav音频文件后,将文件写到AppGroups的Library/Sounds文件夹下,最后更改UNNotificationSound属性即可使通知播报一段自定义的收款到账语音。
讯飞 百度 腾讯 离线合成服务都是需要收费的
采用在线合成再通过http下载的方式,讯飞和微信都有提供免费的服务。
这个方案的缺点是依赖后台和当前的网络环境,有可能会导致消息播报不及时的问题。如果出现30s内都无法现在成功,需要在serviceExtensionTimeWillExpire方法中进行处理,最好的兜底方案是播放一段默认的语音。
I 第三方离线合成SDK对比
指的是语音引擎和资源放置在应用内部,不需要连接到语音云时也可以使用的语音合成服务。因此使用时,需要在应用中添加离线引擎和发音人资源。离线引擎在提供离线服务的SDK中已内置。在使用时只需要根据选择的发音人来设置对应的离线发音人资源即可。
以上是关于iOS App处于后台/被杀死的状态仍可进行语言播报的实现方案( 离线合成+Service Extension)的主要内容,如果未能解决你的问题,请参考以下文章
iOS app处于后台/被杀死的状态仍可进行语言播报(iOS12.1以上在后台或者被杀死无法语音播报的解决方案)适配iOS15的本地通知功能
iOS App处于后台/被杀死的状态仍可进行语言播报的实现方案( 离线合成+Service Extension)
iOS App处于后台/被杀死的状态仍可进行语言播报的实现 (适配iOS12.1 ,iOS15的本地通知功能)
iOS App处于后台/被杀死的状态仍可进行语言播报的实现 (适配iOS12.1 ,iOS15的本地通知功能)