java使用sapi_JAVA 使用Jacob调用windows的Sapi实现文本转语音文件
1. 配置Jacob:我这里使用的jacob为jacob-1.18,jacob-1.18下载下来之后,解压缩文件,
里面的文件为docs、jacob.jar、jacob-1.18-x64.dll、jacob-1.18-x86.dll、LICENSE.TXT、README.txt;
把jacob.jar复制到项目的lib目录下面,jacob-1.18-x64.dll和jacob-1.18-x86.dll是两个动态库文件,
它们指JDK的安装版本,如果JDK是64位的,那么需要把jacob-1.18-x64.dll复制到JDK bin目录下面,因为
我装的JDK是32位的,所以我把jacob-1.18-x86.dll复制到Jdk bin目录下面,路径为"JAVA_HOME"\bin。
2. 生成的demo代码如下:
package com.csg.demo;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class HelloWord {
public static void main(String[] args) {
ActiveXComponent ax = null;
try {
ax = new ActiveXComponent("Sapi.SpVoice");
Dispatch spVoice = ax.getObject();
ax = new ActiveXComponent("Sapi.SpFileStream");
Dispatch spFileStream = ax.getObject();
ax = new ActiveXComponent("Sapi.SpAudioFormat");
Dispatch spAudioFormat = ax.getObject();
//设置音频流格式
Dispatch.put(spAudioFormat, "Type", new Variant(22));
//设置文件输出流格式
Dispatch.putRef(spFileStream, "Format", spAudioFormat);
//调用输出 文件流打开方法,创建一个.wav文件
Dispatch.call(spFileStream, "Open", new Variant("F:\\test.wav"), new Variant(3), new Variant(true));
//设置声音对象的音频输出流为输出文件对象
Dispatch.putRef(spVoice, "AudioOutputStream", spFileStream);
//设置音量 0到100
Dispatch.put(spVoice, "Volume", new Variant(100));
//设置朗读速度
Dispatch.put(spVoice, "Rate", new Variant(-2));
//开始朗读
Dispatch.call(spVoice, "Speak", new Variant("张三,李四"));
//关闭输出文件
Dispatch.call(spFileStream, "Close");
Dispatch.putRef(spVoice, "AudioOutputStream", null);
spAudioFormat.safeRelease();
spFileStream.safeRelease();
spVoice.safeRelease();
ax.safeRelease();
} catch (Exception e) {
e.printStackTrace();
}
}
}
java使用sapi_JAVA 使用Jacob调用windows的Sapi实现文本转语音文件相关推荐
- JAVA 使用Jacob调用windows的Sapi实现文本转语音文件
2019独角兽企业重金招聘Python工程师标准>>> 1. 配置Jacob:我这里使用的jacob为jacob-1.18,jacob-1.18下载下来之后,解压缩文件, 里面的文件 ...
- 【离线文本转语音文件】java spring boot jacob实现文字转语音文件,离线文本转化语音,中英文生成语音,文字朗读,中文生成声音,文字生成声音文件,文字转语音文件,文字变声音。
1.实现效果如下: 输入文字(支持中英文),点击转换生成***.wav文件,点击下载到本地就可. 生成后的音频文件播放,时长1分8秒 2.实现代码: 这次采用jacob实现,相比百度AI需要联网,本项 ...
- jacob 详解 语音_基于jacob调用windows语音模块的简单demo
前两天用Java重构一个取号机业务的时候遇到需要调用windows自带的语音模块,算是记录下吧! 常规操作 1.首先在网上下载jacob的jar包,和对应的dll文件,(这里dll文件是区分32位和6 ...
- Java基于VB通过Jacob调用AutoCAD接口
Java 以跨平台深受大家喜欢,而由于它跨平台的目的,需要运行在java虚拟机上工作,使得它和本地机器各种内部联系变得很少,约束了它直接掉本地API的功能.本例采用VB代码生成调用AutoCAD接口的 ...
- Golang实现Windows的TTS实现文本转语音
文章目录 TTS那些事 文本转语音 总结 TTS那些事 TTS语音合成技术是实现人机语音通信关键技术之一.使电脑具有类似于人一样的说话能力,是当今时代信息产业的重要竞争市场.和语音识别ASR相比,语音 ...
- java通过jacob实现文本转语音修改语音库为男声
因为最近1个项目需求,需要的Java实现1个文本转语音的功能,而且要求是离线版的男声语音,找了很多开源项目,发现基本都是Ç语言写的,集成起来麻烦,所以用了jacob,但是很坑的一点,jacob的TTS ...
- java JDBC连接MySQL数据库调用存储过程进行查询
java JDBC连接MySQL数据库调用存储过程进行查询 主程序代码 工具类 文件信息 存储过程 结果截图 主程序代码 package Mysql;import util.JDBCUtils; im ...
- 怎样用调用资源管理器explore.exe打开指定的文件夹
怎样用调用资源管理器explore.exe打开指定的文件夹 VCL组件开发及应用 http://www.delphi2007.net/DelphiVCL/html/delphi_20061225173 ...
- windows下文本转语音TTS库封装
一.文本转语音实现 本文提及的文本转语音库其实很多年前写的库,最近有才时间整理才将对应库整理成文章供各位网友参考. 其实在windows下自带了文本转语音以及语音识别的功能,这里由于项目中需要将报警文 ...
最新文章
- group by总结(还有having)
- 5天玩转C#并行和多线程编程 —— 第四天 Task进阶
- python怎么新开一行_极简主义的践行者:一行python可以怎么玩?
- dnf剑魂buff等级上限_DNF:传说BUFF换装副本周一更新次数,胜-深渊之麟掉价至1600W...
- linux运维面板_phpstudy linux web面板(小皮面板)V0.2版本正式发布
- 数据库-优化-MYSQL数据库设计规范
- C# Socket初探
- angular4更改表单中显示的值_关于angular4中FormBuilder重新赋值时发生的问题
- C++自学12:结构体(struct/typedef)
- html密码本源码,YoungxjPwd密码本 PHP版 v1.0
- PyTorch代码出现“interrupted by signal 9: SIGKILL”
- oracle 弱口令扫描器,批量扫描弱口令检查工具
- 将视频或动态壁纸设置成桌面
- abaqus Isight学习
- 对线性系统用matlab进行仿真,基于线性系统稳定性分析及MATLAB仿真与应用[1]
- aso关键词优化,我们该不该去做?
- 水下光通信实现(1)----LED驱动电路
- The system proxy was changed. Click to reenable capturing.
- Log4j2维护者吐槽没工资还要挨骂!!!
- Pandas基础入门知识点总结
热门文章
- PS改变icon图标颜色
- sql中的类型转换---学习
- 奥鹏计算机基础计算机病毒是指,奥鹏教育《计算机应用基础》在线考核A卷.doc...
- ANC主动降噪,FFT方案与FxLMS方案比较
- 人脑VS机器?AI时代经济决策的机遇与挑战?| AI TIME 27
- arduino智能浇花系统_智能自浇花系统
- 计算机内存怎么与频率匹配,内存频率,详细教您怎么查看内存条频率
- OSChina 周四乱弹 —— 我看你TM像病毒
- 小牛电动Q1营收5.5亿:净利润不及预期,3个月内市值缩近五成
- 2021年C证(安全员)复审模拟考试及C证(安全员)作业模拟考试