Jacob实现文字转换语音
来源:互联网 发布:三网合一cms 编辑:程序博客网 时间:2024/05/17 06:59
Jacob是java和 com组件间的桥梁。本人才疏学浅,简单理解为“工具”。(能帮助我发开发的程序的我都称之为“工具”)。Jacob能很好的实现文字转换语音。
废话不多说,直接上代码:
public class Test {
private static String str ="";
public static void main(String[] args) throws IOException {
Runnable runnable = new Runnable() {
public void run() {
while(true){
ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice");
String test = "请" + getStringYy() + "号学院进去预定区域";
Dispatch sapo = sap.getObject();
try {
sap.setProperty("Volume", new Variant(100));//设置音量大小
sap.setProperty("Rate", new Variant(-1));//设置播放速度大小
Dispatch.call(sapo, "Speak", new Variant(test ));//开始播放
} catch (Exception e) {
e.printStackTrace();
} finally {
sapo.safeRelease();
sap.safeRelease();
}
}
}
};
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
//第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间
service.scheduleAtFixedRate(runnable, 3, 5, TimeUnit.SECONDS);
}
public static String getStringYy() {
Random ran = new Random();
str = "0" + String.valueOf(ran.nextInt(9))+ String.valueOf(ran.nextInt(9));
return str;
}
}
上面代码中,用定时任务实现循环播放。很简单的几段代码就实现了文字转换语音播放。
简单说一下上面的线程:
ScheduledExecutorService是从Java SE5的java.util.concurrent里,做为工具类被引进的,能很好的实现定时任务。
ScheduledExecutorService他的优缺点大家可以自行去百度,这里就不多说了。
注:
用Jacob实现语音播报需要用到jacob.jar和jacob-1.17-M2-x86.dll语音动态库。(因程序要求动态库为32位即-x86.dll)
大家可根据自己的需求使用语音动态库。(一般放在项目根目录下,也有放在tomcat下的,根据自己的程序而定,读不到动态库肯定就是放的位置不对。)
在使用过程中发现,程序正常启动,语音库也能读取到,单就是不播放语音时,可检查自己电脑C:\Windows\System32这个目录下是否存在一个Speech文件件在这个文件下下是否存在sapi.dll动态库,如果不存在那么你的电脑系统就得重新做(因为你的系统很可能是精简版或者绿色版之类的导致没有sapi.dll动态库)。
本人在开发过程中就遇到上了上诉问题。
第一次写博客。写的不好,不全面。不知道该怎么写,请各位大神见谅,还麻烦各位大神多多指点。
如有雷同纯属巧合。
- Jacob实现文字转换语音
- 使用jacob+SAPI5.1实现将将文字转换为语音播放并可存储到.wav文件
- tts 文字转换语音
- android 融云 + 科大讯飞 实现仿微信语音消息转换为文字
- TTS实现文字语音朗读
- qt 实现文字转语音
- 使用Jacob实现Word转换Html
- Java利用jacob实现文档格式转换
- Java利用jacob实现wps转换pdf
- 科大讯飞实现“文字转语音”和“语音转文字”
- VC用TTS实现文字语音朗读
- VC用TTS实现文字语音朗读
- 语音转换截取N个文字进行转换
- 用jacob实现word到html的转换
- jacob 实现Office Word文件格式转换 docTotxt,docTopdf,docxTodoc,pdfTotxt ...
- jacob 实现Office Word文件格式转换 docTotxt,docTopdf,docxTodoc,pdfTotxt ...
- JAVA 使用Jacob调用windows的Sapi实现文本转语音文件
- C#中英文语音朗读及文字转换成音频文件
- 使用 CleanWipe 解决Symantec Endpoint Protection卸载需要密码问题
- oracle 10g 出现Fatal NI connect error 12170错误
- 浅谈web安全
- python每个字符后添加空格
- Linux编程之pipe管道通信(1)
- Jacob实现文字转换语音
- appium启动时如何禁止安装Unlock、Setting
- redis Windows的使用
- STL之map和multimap容器
- Python获取起点网图书信息
- 单例模式
- python查找json格式关键字
- CCF计算机软件能力认证模拟试题-出现次数最多的数(Java参考答案学习记录)
- (6)2.4之前的字符驱动-用devfs_register自动生成设备文件(可能在2.6linux目录树下编译不了)