zoukankan      html  css  js  c++  java
  • 如何用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)附上下载地址

  • 相关阅读:
    ES6学习之数组扩展
    js三元表达式
    ES6学习之函数扩展
    TS学习之for..of
    TS学习之Symbol
    Visual Studio编译时报错“函数名:重定义;不同的基类型”
    Windows Visual Studio中修改PostgreSQL代码后调试报错
    Windows安装MySQL5.7.17
    289. Game of Life -- In-place计算游戏的下一个状态
    Swift的 convenience && designated init
  • 原文地址:https://www.cnblogs.com/abcdjava/p/10852376.html
Copyright © 2011-2022 走看看