jacob实现语音朗读一段文本

Posted aeolian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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目录下。

以上是关于jacob实现语音朗读一段文本的主要内容,如果未能解决你的问题,请参考以下文章

html5 | 通过js实现对网页文本内容语音朗读 | 教程

活学活用,用python实现网页自动朗读,又节约了不少时间!

微信小程序之文本合成语音朗读及长文本分段播放处理

Android 轻松实现语音朗读

怎么把文字转换为语音朗读?

Delphi - OLE类实现TTS方式语音朗读