首页 > 编程语言 > 详细

如何用java实现语音播报?

时间:2019-05-12 15:42:45      阅读:171      评论:0      收藏:0      [点我收藏+]

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安装可解决!

如何用java实现语音播报?

原文:https://www.cnblogs.com/abcdjava/p/10852376.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!