前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于iOS实现前台,后台,锁屏或关闭app语音播报

关于iOS实现前台,后台,锁屏或关闭app语音播报

作者头像
honey缘木鱼
发布2018-06-13 16:36:35
3.6K1
发布2018-06-13 16:36:35
举报
文章被收录于专栏:娱乐心理测试娱乐心理测试

公司要求像支付宝收款一样,收到推送后实现语音播报功能,之前没有做过,特此机会研究一下。

用到的技术点:

1.如果对语音要求不是特别高的情况下,用苹果系统自带的AVSpeechUtterance可以实现,也可以用讯飞的sdk。

2.之前公司用的是友盟推送,可以实现基本的弹框形式推送,为了语音播报在锁屏情况正常,我增加了iOS10 推出的UNNotificationServiceExtension “推送扩展”

关于在前台实现语音播报,很简单,

xcode 后台设置

-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler(前台收到通知的代理方法)中写语音播报的方法

AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:alterText];

//            utterance.voice  = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-TW"];//设置语言

//            utterance.rate  = 0.4;  //设置语速

//            utterance.volume = 0.0;  //设置音量(0.0~1.0)默认为1.0

//            utterance.pitchMultiplier    = 1.0;  //设置语调 (0.5-2.0)

//            AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init];

//            [synth speakUtterance:utterance];

在后台实现语音播报

谢谢www.jianshu.com/p/c06133d576e4作者的分享,利用作者提供的方法,我也实现了在后台播放,但是锁屏或关闭app是无法完成语音播报的。我根据作者提供的UNNotificationServiceExtension,搜索使用方法完成了锁屏情况的语音播报。

1.UNNotificationServiceExtension的创建参考www.cocoachina.com/ios/20161017/17769.html创建完成后- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler中语音播报的方法添加进去,这个方法主要是在没有推出弹框前,给30s的时间处理推送的内容,所以要推送的语音最好不要太长。

注意:如果项目需求是在前台和后台播放,就仅需要参考www.jianshu.com/p/c06133d576e4的方法,如果所有情况都需要,仅需要添加UNNotificationServiceExtension,填写语音播报的代码,⚠️,一定要推送的 "aps"字典中,一定要包含 mutable-content 键,并且 mutable-content 的值为 1。不然不走推送扩展的方法。

支付宝就是利用此方法完成iOS10以后的语音播报,iOS10以前只需要播报一端固定的语音,把固定音频文件放在目录下,后台的sound 参数写上音频文件的名字。

我已经完成了语音播报功能,遇到什么问题,可以直接私信,我会回答的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.10.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档