SmartBeijingNotes Day06

#Day06 #

6.1 聊天机器人 ##

项目演示

美女
你好
天王盖地虎
你是谁

布局搭建

ListView + LinearLayout

语音识别

参照科大讯飞sdk相关文档

		/**
  • 开始语音识别
     *

  • @param view
     */
     public void startVoice(View view) {
     RecognizerDialog iatDialog = new RecognizerDialog(this, mInitListener);

      		iatDialog.setParameter(SpeechConstant.DOMAIN, "iat");
    
      		iatDialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");
    
      		iatDialog.setParameter(SpeechConstant.ACCENT, "mandarin ");
    
      
    
      		iatDialog.setListener(recognizerDialogListener);
    
      		iatDialog.show();
    
      	}
    

数据解析

	/**
  • 解析语音json数据
     */
     private String parseJson(String json) {
     Gson gson = new Gson();
     VoiceBean bean = gson.fromJson(json, VoiceBean.class);
     ArrayList ws = bean.ws;

      	StringBuffer sb = new StringBuffer();
    
      	for (WsBean wsBean : ws) {
    
      		ArrayList<CwBean> cw = wsBean.cw;
    
      		for (CwBean cwBean : cw) {
    
      			String w = cwBean.w;
    
      			sb.append(w);
    
      		}
    
      	}
    
    
    
      	System.out.println("解析数据为:" + sb.toString());
    
      	return sb.toString();
    
      }
    

ListView数据展示

item布局处理(提问+回答)

语音朗诵

	/**
  • 机器人讲话
     */
     private void speak(String answer) {
     // 1.创建SpeechSynthesizer对象, 第二个参数:本地合成时传InitListener
     SpeechSynthesizer mTts = SpeechSynthesizer
     .createSynthesizer(this, null);
     // 2.合成参数设置,详见《科大讯飞MSC API手册(Android)》SpeechSynthesizer 类
     mTts.setParameter(SpeechConstant.VOICE_NAME, “vixying”);// 设置发音人
     mTts.setParameter(SpeechConstant.SPEED, “50”);// 设置语速
     mTts.setParameter(SpeechConstant.VOLUME, “80”);// 设置音量,范围0~100
     // 设置合成音频保存位置(可自定义保存位置),保存在“./sdcard/iflytek.pcm”
     // 保存在SD卡需要在AndroidManifest.xml添加写SD卡权限
     // 如果不需要保存合成音频,注释该行代码
     mTts.setParameter(SpeechConstant.TTS_AUDIO_PATH, “./sdcard/iflytek.pcm”);
     // 3.开始合成
     mTts.startSpeaking(answer, null);
     }
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值