微软自带TTS(Text To Speech) 语音引擎,可以将文本转换成语音。
现在通过Java程序(jacob包),利用Windows自带的TTS实现语言的播报。
请注意,JACOB是一个针对Windows平台的库,因此它只能在Windows上运行。
1.下载jacob.jar包和dll文件
下载地址:
Release Release 1.20 · freemansoft/jacob-project · GitHub
下载jacob-1.20.zip并解压得到下面三个关键文件
2.将dll文件添加到Windows中
将 文件jacob-1.20-x64.dll、jacob-1.20-x86.dll 拷贝到 C:\Windows\System32 目录下。
3.将jacob.jar包引入到项目中
(我这里一开始使用的jdk1.7导致与jacob包不兼容,后来改成jdk1.8就可以了)如果报错可以参考下。
4.测试样例
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class TestTTS {
public static void main(String[] args) {
/*1. 创建音响对象*/
ActiveXComponent activeXComponent = new ActiveXComponent("Sapi.SpVoice");
/*2. 设置音量(0~100)*/
activeXComponent.setProperty("Volume", new Variant(60));
/*3. 设置朗读速度(-10~10)*/
activeXComponent.setProperty("Rate", new Variant(2));
/*4. 选取读取对象*/
Dispatch dispatch = activeXComponent.getObject();
/*5. 执行朗读*/
Dispatch.call(dispatch, "Speak", new Variant("请注意!您的学分状态处于严重预警状态,请及时补救!"));
/*6. 关闭对象和音响*/
dispatch.safeRelease();
activeXComponent.safeRelease();
}
}