文字转语音(jacob)
生活随笔
收集整理的這篇文章主要介紹了
文字转语音(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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022-2028年中国鸡血石产业市场研
- 下一篇: 2022-2028年中国机制砂石行业投资