用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

 

 

参考

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

https://blog.csdn.net/xiwu1616/article/details/52311158

posted @ 2022-01-07 15:29  DHaiLin  阅读(739)  评论(0编辑  收藏  举报