准备工作:下载Jar

链接:https://pan.baidu.com/s/1edskJjYrCiefVJ7l3Ul9kQ     提取码:6dg9

---导入jar

解压jar包,将jacob.jar复制到工程目录,右键该文件→Build Path→Add to...

将(64位系统添加)jacob-1.19-M2-x64.dll添加到JDK的bin目录和Windows的system32目录和SysWOW64 (以防出错添加)(32位系统添加jacob-1.19-M2-x86.dll)

添加到SysWOW

添加到System32

如果用Maven jacob.jar上传自己私服,添加到本地Maven仓库中

mvn install:install-file -Dfile=D:\BaiduNetdiskDownload\jacob-1.19\jacob.jar -DgroupId=com.jacob -DartifactId=jacob -Dversion=1.19
 -Dpackaging=jar

mvn install:install-file -Dfile=jar包地址 -DgroupId=mavengroupId仓库目录 -DartifactId=artifactId目录 -Dversion=version版本
 -Dpackaging=jar

POM文件

 <dependency>
<groupId>cn.jacob</groupId>
<artifactId>jacob</artifactId>
<version>1.19</version>
</dependency>

javaDemo

package com;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant; public class TestJacob {
public static void main(String[] args) {
// 创建与微软应用程序的新连接。传入的参数是注册表中注册的程序的名称。
ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice"); try { // 音量 0-100 sap.setProperty("Volume", new Variant(100)); // 语音朗读速度 -10 到 +10 sap.setProperty("Rate", new Variant(-2)); // 获取执行对象 Dispatch sapo = sap.getObject(); // 执行朗读 Dispatch.call(sapo, "Speak", new Variant("请A10012,到四号窗口就诊。")); // 关闭执行对象 sapo.safeRelease(); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭应用程序连接 sap.safeRelease(); } } }

demo2

package com.jeeplus.common.utils;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException; import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant; public class TalkUtil {
public static void main(String[] args) throws Exception {
talkString("你好,很高兴认识你。");
// talkText("C:/aa.txt"); } public static void talkString(String talk) {
ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice");
try {
// 音量 0-100
sap.setProperty("Volume", new Variant(100));
// 语音朗读速度 -10 到 +10
sap.setProperty("Rate", new Variant(-2));
// 获取执行对象
Dispatch sapo = sap.getObject();
// 执行朗读
Dispatch.call(sapo, "Speak", new Variant(talk));
// 关闭执行对象
sapo.safeRelease();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭应用程序连接
sap.safeRelease();
}
} public static void talkText(String path) throws Exception {
ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice");
// 输入文件
File srcFile = new File(path);
// 使用包装字符流读取文件
BufferedReader br = new BufferedReader(new FileReader(srcFile));
String content = br.readLine();
try {
// 音量 0-100
sap.setProperty("Volume", new Variant(100));
// 语音朗读速度 -10 到 +10
sap.setProperty("Rate", new Variant(-1));
// 获取执行对象
Dispatch sapo = sap.getObject();
// 执行朗读
while (content != null) {
Dispatch.call(sapo, "Speak", new Variant(content));
content = br.readLine();
}
// 关闭执行对象
sapo.safeRelease();
} catch (Exception e) {
e.printStackTrace();
} finally {
br.close();
// 关闭应用程序连接
sap.safeRelease();
}
} }

最新文章

  1. jQuery学习之路(7)- 用原生JavaScript实现jQuery的某些简单功能
  2. cache buffers
  3. bootstrap弹出框提示框无法调用
  4. Maven Android使用一
  5. lx:这么空!什么叫假大空 xy:那我做给你看
  6. UILabel的简单用法和实际操作
  7. WindowManager.LayoutParams.type属性
  8. C 实现的算法篇
  9. Java网页数据采集器[中篇-数据存储]【转载】
  10. Mysql group_concat函数被截断的问题
  11. php 字符编码转换函数 iconv mb_convert_encoding比较
  12. Team Services and Team Foundation Server官方资料入口
  13. VS error 全集(error C2664: &#39;CWnd::MessageBoxW&#39; : cannot convert parameter 1 from &#39;char *&#39; to &#39;LPCTSTR&#39;的解决方法)
  14. reinterpret_cast,static_cast, dynamic_cast,const_cast的运用分析
  15. Python系列-python函数
  16. HashMap 实现及原理
  17. bat实现固定时间循环抓取设备log
  18. 【Zookeeper系列】ZooKeeper伸缩性(转)
  19. Mysql 利用拷贝data目录文件的方式迁移mysql数据库
  20. 《Python》 面向对象三大特性之多态、封装

热门文章

  1. Linux知识-不断更新
  2. Django中的APP
  3. centos7系统之telnet命令rpm包安装
  4. 《Spring Boot实战》笔记(目录)
  5. Sass函数:unit()函数
  6. MySQL DDL Demo
  7. 4412 Linux设备总线
  8. webpack使用问题记录
  9. 【LeetCode 90】子集 II
  10. 【Java】java获取request body