准备工作:下载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();
}
} }

JAVA 实现Jacob语音播报的更多相关文章

  1. java文字转语音播报功能的实现方法

    java文字转语音播报功能的实现方法 一.pom.xml引入jar包依赖 <!-- https://mvnrepository.com/artifact/com.jacob/jacob 文字转语 ...

  2. Android 简单的语音播报

    不解释快上车 Main.class package com.example.myapp; import android.app.AlertDialog;import android.os.Bundle ...

  3. SpeechLib 语音播报

    SpeechLib这的dll专门用来播放语音,能够识别英语.简体和繁体.并且可以播放声音文件,支持WAV格式,但不支持MP3.在报警场合下已经够用了. 基本播放语音及文件.支持异步. using Sy ...

  4. 语音合成,语音播报功能(系统)-b

    第一次接触语音合成,只实现了很简单的功能,记录一下,以后免得去网上四处找资料 最近在做高德地图导航的时候有个语音播报的功能,高德sdk已经提供了要语音的字符串.我要做的就是把这些字符串读出声音来即可. ...

  5. 实现百度地图导航Demo的语音播报功能

    上文中实现了在本地导入百度地图导航Demo,那么在此基础上如何实现导航的语音播报呢? 一.为该应用申请语音播报(也叫注册) http://developer.baidu.com/map/index.p ...

  6. iOS语音识别,语音播报,文字变语音播报,语音变文字

    首先使用的是科大讯飞的sdk 1.语音识别部分 AppDelegate.m #import "AppDelegate.h" #import <iflyMSC/iflyMSC. ...

  7. C# 使用System.Speech 进行语音播报和识别

    C# 使用System.Speech 进行语音播报和识别 using System.Speech.Synthesis; using System.Speech.Recognition; //语音识别 ...

  8. Xamarin Essentials教程语音播报TextToSpeech

    Xamarin Essentials教程语音播报TextToSpeech   语音播报是一种将文本信息转化为音频信息的技术.使用该技术,开发者可以让用户不用盯着屏幕,就可以获取到信息.例如,支付宝为商 ...

  9. element vuex 语音播报

    data () { return { showDetail: false, height: 1, // 1 不可用 0 正常 2运维中 result: [], tableData: [], // 应用 ...

随机推荐

  1. python常用函数 O

    OrderedDict() 保持dict元素插入顺序. 例子: open(path) 可以对文件进行操作,有'r'读模式.'w'写模式.'a'追加模式.'b'二进制模式.'+'读/写模式等,操作完需要 ...

  2. docker初学

    Docker基础知识 1. Docker基础知识点 1.1 什么是Docker Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.(集装箱原理) 1.2 什 ...

  3. vue自定义抽屉组件

    <template> <div class="drawer"> <div :class="maskClass" @click=&q ...

  4. 别人的双11 & 程序员的双11~

    双11,致敬所有的程序员欧巴! 愿代码的世界,只有爱,没有伤害!! ​ 点此参加阿里云双十一拼团活动:https://m.aliyun.com/act/team1111/ 阅读原文

  5. Git的安装及配置

    1.Git Git 是一个开源的分布式版本管理工具,可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序.在你每次的修改代码并提交后,Git 都会将这些记录 ...

  6. HDU 6053 TrickGCD —— 2017 Multi-University Training 2

    TrickGCD Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  7. inputAccessoryView,inputView

    我们在使用UITextView和UITextField的时候,可以通过它们的inputAccessoryView属性给输入时呼出的键盘加一个附属视图,通常是UIToolBar,用于回收键盘. 但是当我 ...

  8. android SlidingDrawer

    SlidingDrawer把内容从屏幕上隐藏,允许用户拖动把手将内容显示到屏幕.SlidingDrawer可用于垂直或水平.它由两个视图组成的:handle,让用户拖拉的;content,连在hand ...

  9. linux composer 安装与应用

    linux下composer安装与简单应用-------------------------------------安装------------------------------------//下载 ...

  10. mysql for Mac 下创建数据表中文显示为?的解决方法

    在我的绝版Mac mini下安装了mysql 5.7版本,实例中,在通过load data 导入数据时发现表中的中文显示为  ? 通过百度,发现多个版本的解决方法,将其中一个成功解决的方法贴上来: 大 ...