科大讯飞语音播报

当我们开发新闻客户端,电子书等阅读类app的时候要用到的一个功能--语音播报。这里给大家介绍的是科大讯飞的语音播报系统的接入。

注册过程和和其他第三方接入一样,按照提示操作就行了。下面主要讲讲我遇到的坑。

一.语音播报无法识别数字英文等特殊语言,这个问题纠结了半天老是读到一的前面停止了。结果检查了好久才发现是少了引入了.so文件。当初只引入了下面的jar包忘记引入上面文件夹里的.so文件了,现在看来这问题出的太低级了。


二.没有标识暂停的接口,以至于用一个按钮控制语音播放暂停继续播放需要自己添加标识。

在activity中声明这些方法在adapter中调用

activity中代码:

判断正在播放

public boolean isSpeeking(){

    return mTts.isSpeaking();

}
//停止播放
public void pauseSpeek(){
    mTts.pauseSpeaking();
    audioService.pause();
}
//继续播放
public void resumeSpeek(){
    mTts.resumeSpeaking();
    audioService.reset();
}
adapter中代码:

//自己定义一个标识,用于判断播放状态

private boolean isStart = true;

convertView.findViewById(R.id.start).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
//将activity类传过来
        StudyEverydayActivity tempAc = ((StudyEverydayActivity) context);
        if (!tempAc.isStartSpeek()) {
            start.setBackgroundResource(R.drawable.start);
            ((StudyEverydayActivity) context).voice( parse.getText().toString());
        }else if (!isStart) {
            tempAc.resumeSpeek();
            start.setBackgroundResource(R.drawable.start);
            isStart=true;
        } else if(isStart) {
            tempAc.pauseSpeek();
            start.setBackgroundResource(R.drawable.stop);
            isStart=false;
        }
    }
});

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的小巨兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值