1:依赖

<!-- ysp 文本转音频 -->
<dependency><groupId>com.hynnet</groupId><artifactId>jacob</artifactId><version>1.18</version>
</dependency>

2:java代码

package com.hisense.iam800.test.MP3;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Objects;public class Demo {public static void main(String[] args) {
//        readStr("你好啊!");// textToSpeechIO("jacob不支持linux;jacob是“JAVA-COM Bridge”的缩写,是一个中间件,能够提供自动化访问MS系统下COM组件和“Win32 libraries”的功能,并且jacob只支持windows,不支持linux");String text=  textToStr("D:/测试.pdf");textToSpeechIO(text);}/*** 字符串文本阅读* @param str 要读的文字字符串*/public static void readStr(String str){ActiveXComponent ax = new ActiveXComponent("Sapi.SpVoice");//运行时输出语音内容Dispatch spVoice = ax.getObject();//设置音量 0 ~ 100ax.setProperty("Volume",new Variant(100));//设置朗读速度 -10 ~ +10ax.setProperty("Rate",new Variant(1));//执行朗读Dispatch.call(spVoice,"Speak",new Variant(str));}/*** 字符串文本转 wav格式 语音文件* @param text 要读的文字字符串*/public static void textToSpeechIO(String text){ActiveXComponent ax = null;Dispatch spFileStream = null;Dispatch spAudioFormat = null;Dispatch spVoice = null;try{ax = new ActiveXComponent("Sapi.SpFileStream");spFileStream = ax.getObject();ax = new ActiveXComponent("Sapi.SpAudioFormat");spAudioFormat = ax.getObject();spVoice = new ActiveXComponent("Sapi.SpVoice").getObject();// 设置音频流格式Dispatch.put(spAudioFormat, "Type", new Variant(22));// 设置文件输出流格式Dispatch.putRef(spFileStream, "Format", spAudioFormat);// 调用输出 文件流打开方法,创建一个.wav文件Dispatch.call(spFileStream, "Open", new Variant("D:/test.mp3"), new Variant(3), new Variant(true));// 设置声音对象的音频输出流为输出文件对象Dispatch.putRef(spVoice, "AudioOutputStream", spFileStream);// 设置音量  0 ~ 100Dispatch.put(spVoice, "Volume", new Variant(100));// 设置朗读速度  -10 ~ +10Dispatch.put(spVoice, "Rate", new Variant(1));Dispatch.call(spVoice, "Speak", new Variant(text));System.out.println("输出语音文件成功!");}catch(Exception e){e.printStackTrace();}finally {// 关闭输出文件Dispatch.call(Objects.requireNonNull(spFileStream), "Close");Dispatch.putRef(Objects.requireNonNull(spVoice), "AudioOutputStream", null);Objects.requireNonNull(spAudioFormat).safeRelease();spFileStream.safeRelease();spVoice.safeRelease();ax.safeRelease();}}/*** txt文件转字符串* @param fileName txt文件所在位置* @return txt文件中的字符串*/public static String textToStr(String fileName){BufferedReader reader = null;try {reader = new BufferedReader(new FileReader(fileName));StringBuilder sb = new StringBuilder();String line;while ((line=reader.readLine()) != null){sb.append(line);}return sb.toString();} catch (IOException e) {e.printStackTrace();return "";}finally {try {Objects.requireNonNull(reader).close();} catch (IOException e) {e.printStackTrace();}}}
}

3:测试

java 实现文本转为语音相关推荐

  1. python语音转文字库_py库:文本转为语音(pywin32、pyttsx)

    http://blog.csdn.net/marksinoberg/article/details/52137547 Python 文本转语音 文本转为语音(使用Speech API) 需要安装 py ...

  2. 将文本转为语音文件的各种TTS

    1.jacob 在百度上搜索大部分结果都是它,支持中文, 但是不支持linux系统, github上给的文件是.dll, 这是个windows系统的文件 2.FreeTTS 这是我最开始找到的插件, ...

  3. HTML5文字转语音源码,微软TTS语音源码(将文本转为语音并播放)

    [实例简介]利用微软TTS语音,字符串转语音播放,或者保存为语音文件. 语音库需自行下载,推荐Hui 发音人 微软TTS文字转语音发音人修复 微软TTS语音 Win7修复 发音人 [实例截图] [核心 ...

  4. python简单发音-Python如何实现文本转语音

    准备 我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了. 使用Speech API 原理 我们的想法是借助微软的语音接口,所以我们肯定是要进行调用 相 ...

  5. python在线怎么发音-Python如何实现文本转语音

    准备 我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了. 使用Speech API 原理 我们的想法是借助微软的语音接口,所以我们肯定是要进行调用 相 ...

  6. java 文本转语音开发

    文本转语音,我这里会用到讯飞的SDK.讯飞官网,此链接直接进入他们的服务页面. 注册一个账号,然后添加一个应用,会得到一个appid,程序里会用到. 然后下载他们的SDK,会用到里面的这些文件. 这里 ...

  7. springboot微软文本转语音(texttospeach) java实现微软文本转语音

    java实现微软文本转语音(TTS)经验总结 官网地址: https://docs.microsoft.com/zh-cn/azure/cognitive-services/speech-servic ...

  8. java调用espeak_espeak-example Java for windows文本转语音,用 引擎 Other systems 其他 244万源代码下载- www.pudn.com...

    文件名称: espeak-example下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 1286 KB 上传时间: 2015-10-04 下载次数: 0 提 供 ...

  9. java实现txt文件/文本转语音(全网最详细易懂)

    java实现txt文件/文本转语音(全网最详细易懂) 1.下载依赖包 https://github.com/freemansoft/jacob-project/releases 2.将ddl文件放到j ...

最新文章

  1. c专家编程/c陷阱_如何避免常见的初学者陷阱并像专家一样开始编码
  2. React Native进行签名打包成Apk
  3. 特斯拉化身电影院,马斯克:车自动开,你来看电影
  4. maven 学习笔记2
  5. c语言汉字属于什么类型_你知道你的身体属于什么类型么?
  6. hssfworkbook 设置自适应宽度_「CSS很简单」CSS 实现宽高等比自适应容器
  7. 通过调用API函数实现的无边框窗体的拖拽,比判断坐标更快捷
  8. 2021校招 | 交通银行-IT类编程题
  9. 51nod1821-最优集合【贪心】
  10. 求一个正整数是哪几个正整数相加的和,这些数不能相同
  11. 通过造车来了解软件开发模式
  12. java对象与Json字符串之间的转化(fastjson)
  13. 数据挖掘算法原理与实践:k-均值
  14. 不可能取消注册测绘师
  15. 打造最美HTML5 3D机房(第三季,新增资产管理、动环监控等效果)
  16. MyExcel 2.1.4 版本发布,多项功能增强
  17. Vue 组件之间传值
  18. 【夏令营保研经验】北理计算机,北航计算机夏令营,中科院霸面保研经验(2019.7)
  19. 矩阵理论——内积空间
  20. Docker的基本使用

热门文章

  1. DIB-R 可微分渲染器使用
  2. 微软上海全球技术支持中心招聘Axapta技术支持工程师
  3. 时区与time/gmtime/localtime/mktime/ctime函数联系
  4. lsdyna钢筋混凝土爆炸预应力
  5. java zip压缩 加密码_java 压缩成zip文件、解压zip文件(可设置密码)
  6. linux fopen 段错误,fopen出现段错误,不解[已解决]
  7. 计算机科学与工程学院彭骜宇,情系义卖,爱暖人心——计算机科学与工程学院开展“雷锋家乡学雷锋”爱心义卖活动...
  8. 游戏突然卡顿, NVIDIA提示 显示设置不可用
  9. 一个与微软大数据产品经理交流的机会 | 独家
  10. Origin2023学习版安装教程