共计 1653 个字符,预计需要花费 5 分钟才能阅读完成。
首先 pom 文件中援用依赖
<dependency>
<groupId>com.hynnet</groupId>
<artifactId>jacob</artifactId>
<version>1.18</version>
</dependency>
办法:
/**
* 门路可本人配置
* @param text 文本内容
* @param value 音量
* @param volueRow 读取速度
* @return 是否胜利
*/
public static boolean text(String text, int value,int volueRow){
try {
// 音频生成门路
String path = "E:\tmp";
// 固定音量大小
if (value <0 || value >100){value = 100;}
// 调用 dll 朗诵办法
ActiveXComponent ax = new ActiveXComponent("Sapi.SpVoice") ;
// 音量 0-100
ax.setProperty("Volume",new Variant(value));
// 朗诵速度
ax.setProperty("Rate",new Variant(volueRow));
// 输出的语言内容
Dispatch dispatch = ax.getObject();
// 执行朗诵
Dispatch.call(dispatch,"Speak",new Variant(text));
// 开始生成语音文件,构建文件流
ax = new ActiveXComponent("Sapi.SpFileStream");
Dispatch sfFileStream = ax.getObject();
// 设置文件生成格局
ax = new ActiveXComponent("Sapi.SpAudioFormat");
Dispatch fileFormat = ax.getObject();
// 设置音频流格局
Dispatch.put(fileFormat,"Type", new Variant(22));
// 设置文件输入流格局
Dispatch.putRef(sfFileStream,"Format",fileFormat);
// 调用输入文件流关上办法,创立一个.wav 文件
Dispatch.call(sfFileStream,"Open",new Variant("E:\\tmp\\a.wav"),new Variant(3),new Variant(true));
// 设置声音对应输入流为输入文件对象
Dispatch.putRef(dispatch,"AudioOutputStream",sfFileStream);
// 设置音量
Dispatch.put(dispatch,"Volume",new Variant(value));
// 设置速度
Dispatch.put(dispatch,"Rate",new Variant(volueRow));
// 执行朗诵
Dispatch.call(dispatch,"Speak",new Variant(text));
// 敞开输入文件
Dispatch.call(sfFileStream,"Close");
Dispatch.putRef(dispatch,"AudioOutputStream",null);
//close
sfFileStream.safeRelease();
fileFormat.safeRelease();
// 敞开朗诵的操作
dispatch.safeRelease();
ax.safeRelease();
return true;
} catch (Exception e) {e.printStackTrace();
}
return false;
}
问题:
如果呈现我的项目启动报错 no jacob-1.18-x64 in java.library.path 的问题是 jdk 中短少 dll 办法须要下载一份到 jdk 的 bin 目录下
下载地址:
链接:https://pan.baidu.com/s/1B0_Z…
提取码:mcru
正文完