概述
目前公司的项目是一个类似于送快递的项目,所以免不了有类似于饿了么、美团、支付宝收钱吧这种,"您有新的订单","您的收益到账啦"这种类似的推送,这种推送还设计语音播报出来的功能。产品要求APP在前台、后台、程序杀死后都要收到推送消息和语音播报,之前也早早的做了这个功能,就是用的大家常用的方法NotificationService。但是项目升级了iOS12.1后,语音不播报了。
最开始,我语音播报用的是iOS7后裔新增了一个简单的API----AVSpeechSynthesizer。利用的它的简单的把文字转语音,设置语音国家、语速等属性,将推送获得的aps播报出来,这里不再过多赘述,网上有很多资料,大家可以去查它的简单用法。在iOS12升级前,都是可以正常播报的,但是升级后,遇到了跟大家一样的问题,发现不播报了。刚开始认为是AVSpeechSynthesizer的问题,然后就想换掉它,用百度语音或者其他第三方SDK替换语音转文字功能。但是据网上同道中人反映,集成的第三方SDK进行语音播报的也同样不灵了。但是人家支付宝手钱包解决了呀,人家能正常播报。后来呢,道听途说,听说支付宝收钱吧是内置了很多个语音包文件,所以才能播报的。于是我又踏上了通过内置语音文件,修改通知SoundID的方法进行尝试。
相关代码:
NSString *type = [NSString stringWithFormat:@"%@",userInfo[@"type"]];
if ([type isEqualToString:@"1"]) {
最后
以上就是健壮电脑为你收集整理的iOS12.1之后语音播报问题解决方案总结的全部内容,希望文章能够帮你解决iOS12.1之后语音播报问题解决方案总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复