日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

文字转语音(jacob)

發布時間:2023/11/28 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文字转语音(jacob) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近期項目中出現在離線情況下文字轉語音的需求

經過嘗試發現jacob還不錯


?注:只適用于windows系統環境


?以下為開發記錄:


?1.pom.xml中引入jacob.jar

    <dependency><groupId>com.hynnet</groupId><artifactId>jacob</artifactId><version>1.18</version></dependency>

2.下載jacob,將 jacob-1.18-x64.dll 或者?jacob-1.18-x86.dll 復制到?"JAVA_HOME"\bin 下(注意版本:根據JDK的安裝版本選擇)

百度網盤地址:jacob-1.18-M2

提取碼:ktdn

3.java代碼如下:

?

package com.whzc.test;import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;/*** 文字轉語音測試* jdk bin文件中需要導入jacob-1.17-M2-x64.dll* @author zk*@date: 2019年6月25日 上午10:05:21*/
public class jacobtest {public static void main(String[] args) { ActiveXComponent ax = null;String str="請A001號到3號窗口";
//     String str="華為 new bee";try { ax = new ActiveXComponent("Sapi.SpVoice");//運行時輸出語音內容Dispatch spVoice = ax.getObject();// 音量 0-100ax.setProperty("Volume", new Variant(100));// 語音朗讀速度 -10 到 +10ax.setProperty("Rate", new Variant(-2));// 執行朗讀Dispatch.call(spVoice, "Speak", new Variant(str));//下面是構建文件流把生成語音文件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("E:\\test.wav"), new Variant(3), new Variant(true));//設置聲音對象的音頻輸出流為輸出文件對象Dispatch.putRef(spVoice, "AudioOutputStream", spFileStream);//設置音量 0到100Dispatch.put(spVoice, "Volume", new Variant(100));//設置朗讀速度Dispatch.put(spVoice, "Rate", new Variant(-2));//開始朗讀Dispatch.call(spVoice, "Speak", new Variant(str));//關閉輸出文件Dispatch.call(spFileStream, "Close");Dispatch.putRef(spVoice, "AudioOutputStream", null);spAudioFormat.safeRelease();spFileStream.safeRelease();spVoice.safeRelease();ax.safeRelease();} catch (Exception e) { e.printStackTrace();} }
}

?

4,運行即可,聲音為系統默認語音


?常見報錯有:

1、找不到jacob.dll,配置路徑問題(確認jacob.dll配置正確)
java.lang.UnsatisfiedLinkError: no jacob in java.library.path


2、找不到資源文件,資源文件路徑問題(查看程序中資源文件路徑的設置,并檢查資源文件的存放路徑)
com.jacob.com.ComFailException: Invoke of: Open


3、jacob.dll或jacob.jar對應版本錯誤
com.jacob.com.ComFailException: A COM exception has been encountered:

總結

以上是生活随笔為你收集整理的文字转语音(jacob)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。