zoukankan      html  css  js  c++  java
  • jacob实现语音朗读一段文本

    概念

    jacob官方的解释是Java COM Bridge,即java和com组件间的桥梁。

    使用

    1、下载解压jacob-1.19,下载地址

    2、向工程里导入jacob.jar

    3、将 jacob-1.19-x64.dll拷贝到jdk的bin目录或windows/SysWOW64目录

        public static void main(String[] args) throws IOException {
            playSound("Hello Jacob");
        }
        
        /**
         * 播放声音方法
         * TODO
         * @param content 播放内容
         */
        public static void playSound(String content){
            // 创建与微软应用程序的新连接.传入的参数是注册表中注册的程序的名称
            ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice");
            // 获取执行对象
            Dispatch sapo = sap.getObject();
    
            try {
                // 音量 0-100
                sap.setProperty("Volume", new Variant(100));
                // 语音朗读速度 -10 到 +10
                sap.setProperty("Rate", new Variant(-2));
                // 执行朗读
                Dispatch.call(sapo, "Speak", new Object[] { new Variant(content)});
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                // 关闭执行对象
                sapo.safeRelease();
                // 关闭连接
                sap.safeRelease();
            }
        }

    出现问题

    no jacob-1.19-x64 in java.library.path

    把dll文件放在%JAVA_HOME%in下(注意系统是32位还是64位),也可以放在C:WindowsSystem32下,如果是64位应该放在C:WindowsSysWOW64 下。建议放在jdk的bin目录下。

    如果这篇文章对你有用,麻烦关注一下本人微信公众号,关注送福利哦~
    微信公众号二维码
    不定期安利各种插件,编程技巧,编程思想,欢迎交流~
  • 相关阅读:
    面向对象之多态,property
    描述符
    day23 面向对象之继承
    day22面向对象
    os模块
    logging日志模块,四种方式
    Linux 如何测试 IO 性能(磁盘读写速度)
    Vi命令:如何删除全部内容
    cdnbest如何查看站点操作日志(同步日志)
    Linux查找含有某字符串的所有文件
  • 原文地址:https://www.cnblogs.com/aeolian/p/13175371.html
Copyright © 2011-2022 走看看