课设记录-Day10

mac2022-06-30  75

今日工作:

完成语音输入和输出功能,利用的是讯飞语音的SDK。 具体包括注册成为开发者并下载SDK,将SDK导入项目,在AndroidManif.xml中为SDK添加权限。 下面是核心代码实现 自定义实现一个语音输出函数。

private void speechOutput() { //1. 创建 SpeechSynthesizer 对象 , 第二个参数: 本地合成时传 InitListener SpeechSynthesizer mTts = SpeechSynthesizer.createSynthesizer(this, null); //2.合成参数设置 mTts.setParameter(SpeechConstant.VOICE_NAME, "vixyun"); // 设置发音人 mTts.setParameter(SpeechConstant.SPEED, "50");// 设置语速 mTts.setParameter(SpeechConstant.VOLUME, "80");// 设置音量,范围 0~100 mTts.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_CLOUD); //设置云 //设置合成音频保存位置(可自定义保存位置),保存在 “./sdcard/iflytek.pcm” //保存在 SD 卡需要在 AndroidManifest.xml 添加写 SD 卡权限 //仅支持保存为 pcm 和 wav 格式, 如果不需要保存合成音频,注释该行代码 mTts.setParameter(SpeechConstant.TTS_AUDIO_PATH, "./sdcard/iflytek.pcm"); //3.开始合成 mTts.startSpeaking(editText.getText().toString(), new MySynthesizerListener()); }

自定义实现一个语音输入函数

private void speechInput() { //1. 创建RecognizerDialog对象 RecognizerDialog mDialog = new RecognizerDialog(this, new MyInitListener()); //2. 设置accent、 language等参数 mDialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");// 设置中文 mDialog.setParameter(SpeechConstant.ACCENT, "mandarin"); // 若要将UI控件用于语义理解,必须添加以下参数设置,设置之后 onResult回调返回将是语义理解 // 结果 // mDialog.setParameter("asr_sch", "1"); // mDialog.setParameter("nlp_version", "2.0"); //3.设置回调接口 mDialog.setListener(new MyRecognizerDialogListener()); //4. 显示dialog,接收语音输入 mDialog.show(); }

明日计划:

组队通信模块。 修改完善今天的工作。

每日小结:

今天感冒咯,工作做的不是很多,头大,今晚还有CSP的选拔赛。最近忙的一批。 没想到一个月的课设虽然没课但是工作量丝毫没有减少。

转载于:https://www.cnblogs.com/lil-Xing/p/11425392.html

最新回复(0)