java文字转语音播报功能的实现方法
前言
本文主要给大家分享了关于java文字转语音播报的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
方法如下
一、pom.xml引入jar包依赖
com.hynnet jacob 1.18
二、把jacob-1.18-x64.dll文件复制到jdk安装位置的bin目录下。
https://files.cnblogs.com/files/w1441639547/jacob-1.18-x64.rar
三、把jacobtest.java类导入至项目中测试运行。
packagecom.Interface.util; importcom.jacob.activeX.ActiveXComponent; importcom.jacob.com.Dispatch; importcom.jacob.com.Variant; /** *文字转语音测试jdkbin文件中需要导入jacob-1.17-M2-x64.dll * *@authorzk *@date:2019年6月25日上午10:05:21 */ publicclassjacobtest{ /** *语音转文字并播放 * *@paramtxt */ publicstaticvoidtextToSpeech(Stringtext){ ActiveXComponentax=null; try{ ax=newActiveXComponent("Sapi.SpVoice"); //运行时输出语音内容 DispatchspVoice=ax.getObject(); //音量0-100 ax.setProperty("Volume",newVariant(100)); //语音朗读速度-10到+10 ax.setProperty("Rate",newVariant(-2)); //执行朗读 Dispatch.call(spVoice,"Speak",newVariant(text)); //下面是构建文件流把生成语音文件 ax=newActiveXComponent("Sapi.SpFileStream"); DispatchspFileStream=ax.getObject(); ax=newActiveXComponent("Sapi.SpAudioFormat"); DispatchspAudioFormat=ax.getObject(); //设置音频流格式 Dispatch.put(spAudioFormat,"Type",newVariant(22)); //设置文件输出流格式 Dispatch.putRef(spFileStream,"Format",spAudioFormat); //调用输出文件流打开方法,创建一个.wav文件 Dispatch.call(spFileStream,"Open",newVariant("./text.wav"),newVariant(3),newVariant(true)); //设置声音对象的音频输出流为输出文件对象 Dispatch.putRef(spVoice,"AudioOutputStream",spFileStream); //设置音量0到100 Dispatch.put(spVoice,"Volume",newVariant(100)); //设置朗读速度 Dispatch.put(spVoice,"Rate",newVariant(-2)); //开始朗读 Dispatch.call(spVoice,"Speak",newVariant(text)); //关闭输出文件 Dispatch.call(spFileStream,"Close"); Dispatch.putRef(spVoice,"AudioOutputStream",null); spAudioFormat.safeRelease(); spFileStream.safeRelease(); spVoice.safeRelease(); ax.safeRelease(); }catch(Exceptione){ e.printStackTrace(); } } }
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。