用Java读取文件文字并语音播报
1、引入第三方jar包 jacob.jar
2、将第三方依赖 dll文件 置于jdk安装目录下(JAVA_HOME\bin)
/** * 一个用java代码实现 语音播报示例 */ //如此处报错,可能是jar的问题 可能要到网上下一个jacob试试 import com.jacob.activeX.ActiveXComponent; //如此处报错,可能是jar的问题 可能要到网上下一个 jacob试试 import com.jacob.com.Dispatch; //如此处报错,可能是jar的问题 可能要到网上下一个 jacob试试 import com.jacob.com.Variant; import java.io.*; public class VoicePlay { // 程序入口 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); // 调节语速 音量大小 sap.setProperty("Volume", new Variant(100)); sap.setProperty("Rate", new Variant(0)); Dispatch xj = sap.getObject(); //读取的数据内容 String content = null; while ((content = bf.readLine()) != null){ //当前读取的数据 System.out.println(content); // 执行朗读 没有读完就继续读 Dispatch.call(xj, "Speak", new Variant(content)); } xj.safeRelease(); bf.close(); } catch (FileNotFoundException e) { e.printStackTrace(); sap.safeRelease(); } } }
第三方依赖下载地址(已上传博客园 jacob-1.20.zip)
博客园下载:https://files-cdn.cnblogs.com/files/blogs/666773/jacob-1.20.zip
github下载:https://github.com/freemansoft/jacob-project/releases
参考