上次说到科大讯飞的语音集成,至于基础的步骤就不在这里细说,直接一把梭,先做出来demo再说,如果说咱们的

科大讯飞和极光推送集成好了之后,接下来就是根据需求来实现功能。

       现在项目的需求是,当有商品的库存低于设置的最低库存数的时候,服务器就会推送一条消息到客户端。客户端根据

用户的设置,来进行通知栏显示和语音播放。至于服务这一块咱们先不关心,客户端来说,要实现的是接收服务器推送过来

消息,然后进行语音合成。思路简单明了,但是可能会踩一些小坑。

      首先接收消息,肯定是在onReceive中进行操作了, 在这个方法中,可以根据约定好的类型,是一般,还是自定义,亦或者

是多媒体,这里暂时采用的一般的通知,下边这个就是普通的消息通知,我们在这个里面,解析服务返回的json串,然后

     极光推送+科大讯飞实现推送消息语音播放功能实现

    极光推送+科大讯飞实现推送消息语音播放功能实现

 根据自己的需求是增删字段,在这里,我是采用 extras 作为区分类型的扩展字段,以此来区分传过来的是什么类型的

消息,是否需要进行语音合成播放。这算是接收,解析,然后接下来等拿到message字段之后,那开始进行语音合成播放

                极光推送+科大讯飞实现推送消息语音播放功能实现

    进行语音播放的首先是在application中初始化科大讯飞的类库,记得这个ID要对应,后期要扩展或者续费也要认准该id
    极光推送+科大讯飞实现推送消息语音播放功能实现

    在接下来就是在推送的接收方法中去初始化合成对象,当然这个是固定的步骤,安装人家的步骤来

    极光推送+科大讯飞实现推送消息语音播放功能实现

    下边呢,就是把文字信息传递给合成对象,设置发音人,语速,以及一些其它参数,当一般默认的足够使用

     如果对这个要求比较高的话,一般需要花钱,这个是没啥好的办法,语音库免费的就那几个,

      极光推送+科大讯飞实现推送消息语音播放功能实现

上面这段代码都是固定格式,如果咱们的语音没有正常播放的话,需要仔细去检查一下,尤其是采用本地引擎的小伙伴

看看引入的so,以为相应的文件路径,以及资产即assets下边的语音文件是否完整导入。另外示例代码里面还有一个监听的

方法,这个对于demo的测试也是很重要,通过这个监听,可以清晰的看到语音播放的流程以及对应的错误代码。

极光推送+科大讯飞实现推送消息语音播放功能实现

好了,能做到这一步,基本来说没啥问题,可以验证一下是否能在真机上正常播放,最后我说一下我遇见的问题。也算是一个小

bug吧,我第一次做这个demo的时候,很快做完了,但是语音不响,我也检查了配置参数,以及查看上边这个监听,发现

语音播放了,但是没得声音,最后找了半天错误,发现依赖的so库版本上,有点欲哭无泪的感觉。这个原因我解释不清楚,所以

极光推送+科大讯飞实现推送消息语音播放功能实现

就不干扰各位同学了,当时配置的时候,是其它类型在前边,比方说armeabi,但是就是不响,后来改成armeabi-v7a,

然后一切就正常了,只能说还是按照讯飞的文档走吧,现在主流适配一般也就这个了,可能是so库编译的时候,就是以这个

为最先的吧,其它的只是辅助。好了,这个demo到此结束,如果有业务的,可以再拓展。

 

 

 

相关文章:

  • 2021-12-14
  • 2021-12-02
  • 2021-06-15
  • 2022-03-02
  • 2022-12-23
  • 2022-03-07
  • 2022-12-23
  • 2022-12-27
猜你喜欢
  • 2021-08-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-02
  • 2022-12-23
相关资源
相似解决方案