java调jacob包实现系统语音
生活随笔
收集整理的這篇文章主要介紹了
java调jacob包实现系统语音
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
聲明:并非原創
目的:只為記錄
1.maven工程;
2.導jar包,https://share.weiyun.com/59jtoxW;
3.代碼
/** * Project Name:TextToVoice * File Name:JacobStreamTask.java * Package Name:com.xx.util * Date:2018年12月7日上午9:54:46 * Copyright (c) 2018, Gao All Rights Reserved. * */ package com.xx.texttovoice.util;import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import com.jacob.com.Variant;/** * @Desc: * @Auth: * @Date: 2018年12月7日 上午9:54:46*/public class TextToVoice {public static void main(String[] args) {trans("這是一條測試信息");}public static void trans(String text){ActiveXComponent activeXComponent = null;try { // jacob封裝好的可供選擇的APIactiveXComponent = new ActiveXComponent("Sapi.SpVoice"); // 運行時輸出語音內容Dispatch dispatch = activeXComponent.getObject(); // 設置音量activeXComponent.setProperty("Volume", new Variant(100)); // 語音的朗讀速度-10到 +10activeXComponent.setProperty("Rate", new Variant(1)); // 調用執行朗讀Dispatch.call(dispatch, "Speak",new Variant(text));// 生成語音文件activeXComponent = new ActiveXComponent("Sapi.SpFileStream");Dispatch fileStreamDispatch = activeXComponent.getObject();// 音頻activeXComponent = new ActiveXComponent("Sapi.SpAudioFormat");Dispatch audioDispatch = activeXComponent.getObject();// 設置文件流格式Dispatch.putRef(fileStreamDispatch, "Format", audioDispatch); // 設置音頻流格式Dispatch.put(audioDispatch, "Type", new Variant(22));// 調用輸出文件流打開方法,創建一個.wav .mp3 .mp4 .wma文件Dispatch.call(fileStreamDispatch, "Open", new Variant("src/main/resources/static/test.mp3"),new Variant(3),new Variant(true)); // 設置聲音對象的音頻流輸出流為輸出文件對象Dispatch.putRef(dispatch, "AudioOutputStream", fileStreamDispatch);// 設置音量0-100Dispatch.put(dispatch, "Volume", new Variant(100)); // 設置朗讀速度Dispatch.put(dispatch, "Rate", new Variant(-2)); // 開始朗讀Dispatch.call(dispatch, "Speak",new Variant(text));// 關閉輸出文件流Dispatch.call(fileStreamDispatch, "Close");Dispatch.putRef(dispatch, "AudioOutputStream", null);audioDispatch.safeRelease();fileStreamDispatch.safeRelease();dispatch.safeRelease();activeXComponent.safeRelease();} catch (Exception e) {e.printStackTrace();}}}?
總結
以上是生活随笔為你收集整理的java调jacob包实现系统语音的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sip客户端源码c语言,SIP协议的VO
- 下一篇: java中 jacob作用_【JAVA