2019独角兽企业重金招聘Python工程师标准>>>

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();

}

}

}

转载于:https://my.oschina.net/u/1054538/blog/1582041

JAVA 使用Jacob调用windows的Sapi实现文本转语音文件相关推荐

  1. java使用sapi_JAVA 使用Jacob调用windows的Sapi实现文本转语音文件

    1. 配置Jacob:我这里使用的jacob为jacob-1.18,jacob-1.18下载下来之后,解压缩文件, 里面的文件为docs.jacob.jar.jacob-1.18-x64.dll.ja ...

  2. java 使用jacob 调用中控考勤机dll(详细配置)

    根据网上内容搜索以及不断尝试,总结出以下java使用jacob调用中控考勤机sdk方法 1.jacob-1.18版本 2.jdk1.732位(经过测试jacob目前只支持32位jdk,64位下报错): ...

  3. jacob 详解 语音_基于jacob调用windows语音模块的简单demo

    前两天用Java重构一个取号机业务的时候遇到需要调用windows自带的语音模块,算是记录下吧! 常规操作 1.首先在网上下载jacob的jar包,和对应的dll文件,(这里dll文件是区分32位和6 ...

  4. 【离线文本转语音文件】java spring boot jacob实现文字转语音文件,离线文本转化语音,中英文生成语音,文字朗读,中文生成声音,文字生成声音文件,文字转语音文件,文字变声音。

    1.实现效果如下: 输入文字(支持中英文),点击转换生成***.wav文件,点击下载到本地就可. 生成后的音频文件播放,时长1分8秒 2.实现代码: 这次采用jacob实现,相比百度AI需要联网,本项 ...

  5. Golang实现Windows的TTS实现文本转语音

    文章目录 TTS那些事 文本转语音 总结 TTS那些事 TTS语音合成技术是实现人机语音通信关键技术之一.使电脑具有类似于人一样的说话能力,是当今时代信息产业的重要竞争市场.和语音识别ASR相比,语音 ...

  6. java 通过jacob调用bartender的坑

    1.barender的版本是bt2016_r7_3146_ul_tsc的ultraLite的版本,通过程序调用只有30天使用

  7. Java练习-----2.对Windows和Linux环境下输入的文件路径格式进行校验

    1.需求 Windows环境下路径格式只能为 D:\Desktop\source Linux环境下路径格式只能为 /data/source 2.结果展示 Linux环境下运行成功,懒得开虚拟机,就不展 ...

  8. java文字转pdf格式_java根据富文本生成pdf文件

    public classPdfUtil {/** 生成pdf工具类 * wmy 12:40 2019/8/9 * @Param [guideBook, pdfPath] * @return java. ...

  9. java通过jacob实现文本转语音修改语音库为男声

    因为最近1个项目需求,需要的Java实现1个文本转语音的功能,而且要求是离线版的男声语音,找了很多开源项目,发现基本都是Ç语言写的,集成起来麻烦,所以用了jacob,但是很坑的一点,jacob的TTS ...

最新文章

  1. [译]JavaScript中,{}+{}等于多少?
  2. VC++ inline内联函数的作用解决方案
  3. python导入txt为dataframe-python批量读取txt文件为DataFrame的方法
  4. 数字气泡 php,vue指令如何实现气泡提示(附代码)
  5. 科大星云诗社动态20210202
  6. antd vue 树更新数据后不展开_很全面的vue面试题总结
  7. 关于优酷开放SDk之setOnVideoIndexUpdateListener
  8. SAP Spartacus B2B页面的List Component
  9. 艾默生变频器报警PHP,艾默生ct变频器报警ou 这个CT的变频器报警UU怎么解决?
  10. Qt图形界面编程入门(基本窗口及控件)
  11. 用react和electron实现文件树组件(上)
  12. 互联网时代,还有闷声发大财的吗?
  13. 黑莓手机BlackBerry Servicebook(简称SB)应用详解指南
  14. java 命令行工具_分享java自带命令行工具jmap、jhat与jinfo的方法详解
  15. AndroidStudio高级计算器三角函数对数
  16. 微信小程序授权微信开放平台
  17. Conflicted Confucians
  18. 计算机模拟仿真实例,计算机模拟仿真系统,computer simulation system,音标,读音,翻译,英文例句,英语词典...
  19. win10OneNote登录微软 账号登陆出现错误码0x80190001
  20. du 查看文件大小命令

热门文章

  1. redis radix tree的简单解释
  2. Ribbon的权重负载均衡策略
  3. python中的translate_Python translate()方法
  4. 容器弹性云底层原理揭秘
  5. Rust中Turbofish之函数后面双冒号(::)用法
  6. jquery.form.js java_教javascript函数和jquery函数的使用$(form).submit(function()
  7. 高吞吐消息中间件Kafka集群环境搭建(3台kafka,3台zookeeper)
  8. python基础之玩转(变量赋值)
  9. C++ std::tr1::shared_ptr使用说明
  10. 转载:GCC 提供的原子操作