如何用java实现语音播报?
1.用Java实现语音播报,分为四步①音响;②调节语速;③调节音量;④执行对象;⑤执行朗读;
package net.yuying; /** * 一个用java代码实现 语音播报示例 * */ import com.jacob.activeX.ActiveXComponent;//如此处报错,可能是jar的问题 可能要到网上下一个jacob试试 import com.jacob.com.Dispatch;//如此处报错,可能是jar的问题 可能要到网上下一个 jacob试试 import com.jacob.com.Variant;//如此处报错,可能是jar的问题 可能要到网上下一个 jacob试试 import java.io.*; public class Test1 { // 程序入口 public static void main(String[] args) { try { voice(); } catch (IOException e) { } } public static void voice() throws IOException { // 拿到音响 ActiveXComponent sap = new ActiveXComponent("sapi.SpVoice"); // 找到本地要朗读的文件 try { File srcFile = new File("E:/b.txt"); // 获取文本文档的内容 FileReader flie = new FileReader(srcFile); // 从缓存区拿到数据 BufferedReader bf = new BufferedReader(flie); // 拿到缓冲区的数据 String content = bf.readLine(); // 测试一下 有没有拿到数据 System.out.println(content); // 调节语速 音量大小 sap.setProperty("Volume", new Variant(100)); sap.setProperty("Rate", new Variant(0)); Dispatch xj = sap.getObject(); // 执行朗读 没有读完就继续读 while (content != null) { Dispatch.call(xj, "Speak", new Variant(content)); } xj.safeRelease(); bf.close(); } catch (FileNotFoundException e) { e.printStackTrace(); sap.safeRelease(); } } }
注意:如果导入前3行错误,应该是jar的问题,可能要到网上下一个 jacob安装可解决!(https://mvnrepository.com/artifact/com.jacob/jacob/1.10)附上下载地址