java实现自动朗读txt文本中的内容

实现一个java程序读取txt文本中的内容,并且调用系统语音来朗读出来。

1.准备工作

Jacob下载地址
http://sourceforge.net/project/showfiles.php?group_id=109543&package_id=118368
Jacob配置
将下载的Jacob包解压,就会得到如图的文件

TIM截图20181016092134.png

这里需要将jacob.jar拷贝到java项目的lib文件夹中,另外将jacob-1.19-x64.dll(64位操作系统拷贝-x64,32位的操作系统拷贝-x86)文件,复制到 windows\system32或者项目的src目录下

2.准备开发

因为代码比较简单,那就直接上代码了

public class Text {

    /**
     * @Title: main
     * @Description: TODO
     * @param args
     *            void
     * @author Liu_xg
     * @date 2018年10月16日上午8:39:38
     */
    public static void main(String[] args) {
        String filePath = "F:\\str.txt"; 
    //   "res/"; 
        readTxtFile(filePath); 
    }

    /**
     * 读取txt文本内容
     * 
     * @Title: readTxtFile
     * @Description: TODO
     * @param filePath
     *            void
     * @author Liu_xg
     * @date 2018年10月16日上午8:59:57
     */
    public static void readTxtFile(String filePath) {
        try {
            String encoding = "GBK";
            File file = new File(filePath);
            if (file.isFile() && file.exists()) { // 判断文件是否存在
                InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);// 考虑到编码格式
                BufferedReader bufferedReader = new BufferedReader(read);
                String lineTxt = null;
                while ((lineTxt = bufferedReader.readLine()) != null) {
                    speak(lineTxt);
                }
                read.close();
            } else {
                System.out.println("找不到指定的文件");
            }
        } catch (Exception e) {
            System.out.println("读取文件内容出错");
            e.printStackTrace();
        }

    }

    /**
     * 语音输出读取的文件
     * 
     * @Title: speak
     * @Description: TODO
     * @param value
     *            void
     * @author Liu_xg
     * @date 2018年10月16日上午8:59:20
     */
    private static void speak(String value) {
        // ?? 这个Sapi.SpVoice是需要安装什么东西吗,感觉平白无故就来了
        ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice");
        // Dispatch是做什么的?
        Dispatch sapo = (Dispatch) sap.getObject();
        try {

            // 音量 0-100
            sap.setProperty("Volume", new Variant(100));
            // 语音朗读速度 -10 到 +10
            sap.setProperty("Rate", new Variant(-2));

            Variant defalutVoice = sap.getProperty("Voice");

            Dispatch dispdefaultVoice = (Dispatch) defalutVoice.toDispatch();
            Variant allVoices = Dispatch.call(sapo, "GetVoices");
            Dispatch dispVoices = (Dispatch) allVoices.toDispatch();

            Dispatch setvoice = Dispatch.call(dispVoices, "Item", new Variant(1)).toDispatch();
            ActiveXComponent voiceActivex = new ActiveXComponent(dispdefaultVoice);
            ActiveXComponent setvoiceActivex = new ActiveXComponent(setvoice);

            Variant item = Dispatch.call(setvoiceActivex, "GetDescription");
            // 执行朗读
            Dispatch.call(sapo, "Speak", new Variant(value));

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sapo.safeRelease();
            sap.safeRelease();
        }
    }

}

最后附上励志100句名言,可以将这些名言写入到txt文本中,让它每天都来充实我们

1、有志者自有千计万计,无志者只感千难万难。


2、实现自己既定的目标,必须能耐得住寂寞单干。


3、世界会向那些有目标和远见的人让路。


4、必须从过去的错误学习教训而非依赖过去的成功。


5、美丽的花虽然会凋谢,可是盛开的时刻值得欣赏。要在美好的时候创造出美好的东西,人生才会充满意义。


6、失败只是暂时停止成功,假如我不能,我就一定要;假如我要,我就一定能!


7、让我们将事前的忧虑,换为事前的思考和计划吧!


8、不论你在什么时候开始,重要的是开始之后就不要停止。


9、永不言败,是成功者的最佳品格。


10、一个人的快乐,不是因为他拥有的多,而是因为他计较的少。


11、生气,就是拿别人的过错来惩罚自己。原谅别人,就是善待自己。


12、未必钱多乐便多,财多累己招烦恼。清贫乐道真自在,无牵无挂乐逍遥。


13、处事不必求功,无过便是功。为人不必感德,无怨便是德。


14、平安是幸,知足是福,清心是禄,寡欲是寿。


15、人之心胸,多欲则窄,寡欲则宽。


16、宁可清贫自乐,不可浊富多忧。


17、受思深处宜先退,得意浓时便可休。


18、势不可使尽,福不可享尽,便宜不可占尽,聪明不可用尽。


19、滴水穿石,不是力量大,而是功夫深。


20、必须不断汲取专业知识但不要以专家自居以专家自居的想法会损害产生新思想、运用新思想的能力。


21、要接受自己行动所带来的责任而非自己成就所带来的荣耀。


22、每个人都必须发展两种重要的能力适应改变与动荡的能力以及为长期目标延缓享乐的能力。


23、将一付好牌打好没有什么了不起能将一付坏牌打好的人才值得钦佩。


24、一切事无法追求完美,唯有追求尽力而为。这样心无压力,出来的结果反而会更好。


25、心作良田耕不尽,善为至宝用无穷。我们应有纯洁的心灵,去积善为大众。就会获福无边。


26、打击与挫败是成功的踏脚石,而不是绊脚石。


27、生命不是要超越别人,而是要超越自己。


28、人生最大的喜悦是每个人都说你做不到,你却完成它了!


29、不为模糊不清的未来担忧,只为清清楚楚的现在努力。


30、当你停止尝试时,就是失败的时候。


31、生命对某些人来说是美丽的,这些人的一生都为某个目标而奋斗。


32、推销产品要针对顾客的心,不要针对顾客的头。


33、不同的信念,决定不同的命运!


34、成功这件事,自己才是老板!


35、失败的是事,绝不应是人。


36、自己打败自己是最可悲的失败,自己战胜自己是最可贵的胜利。


37、从来不跌倒不算光彩,每次跌倒后能再站起来,才是最大的荣耀。


38、失败只有一种,那就是半途而废。


39、平生不做皱眉事,世上应无切齿人。


40、须交有道之人,莫结无义之友。饮清静之茶,莫贪花色之酒。开方便之门,闲是非之口。


41、世事忙忙如水流,休将名利挂心头。粗茶淡饭随缘过,富贵荣华莫强求。


42、“我欲”是贫穷的标志。事能常足,心常惬,人到无求品自高。


43、人生至恶是善谈人过;人生至愚恶闻己过。


44、诸恶莫做,众善奉行,莫以善小而不为,莫以恶小而为之。


45、莫妒他长,妒长,则己终是短。莫护己短,护短,则己终不长。


46、是非天天有,不听自然无。


47、五官刺激,不是真正的享受。内在安祥,才是下手之处。


48、人为善,福虽未至,祸已远离;人为恶,祸虽未至,福已远离。


49、不妄求,则心安,不妄做,则身安。


50、不自重者,取辱。不自长者,取祸。不自满者,受益。不自足者,博闻。


51、积金遗于子孙,子孙未必能守;积书于子孙,子孙未必能读。不如积阴德于冥冥之中,此乃万世传家之宝训也。


52、积德为产业,强胜于美宅良田。


53、能付出爱心就是福,能消除烦恼就是慧。


54、身安不如心安,屋宽不如心宽。


55、罗马人凯撒大帝,威震欧亚非三大陆,临终告诉侍者说:“请把我的双手放在棺材外面,让世人看看,伟大如我凯撒者,死后也是两手空空。


56、当你无法从一楼蹦到三楼时,不要忘记走楼梯。要记住伟大的成功往往不是一蹴而就的,必须学会分解你的目标,逐步实施。


57、成功源于不懈的努力。


58、要诚恳,要坦然,要慷慨,要宽容,要有平常心。


59、开始努力吧!在这个过程中你必须放弃很多东西,但你要明白它们都不是你最终想要的,你要相信在你成功以后,总有一天它们会再回来,而且比现在更美好!


60、做决定之前仔细考虑,一旦作了决定就要勇往直前、坚持到底。


61、常自认为是福薄的人,任何不好的事情发生都合情合理,有这样平常心态,将会战胜很多困难。


62、君子之交淡如水,要有好脾气和仁义广结好缘,多结识良友,那是积蓄无形资产。很多成功就是来源于无形资产。


63、一棵大树经过一场雨之后倒了下来,原来是根基短浅。我们做任何事都要打好基础,才能坚固不倒。


64、同样一件事情的发生,有的人感到非常痛苦,有的人却能坦然接受。因为这两者的忍耐能力不同。有忍耐能力的人才容易成功。


65、人生舞台的大幕随时都可能拉开,关键是你愿意表演,还是选择躲避。


66、人生只有经历酸甜苦辣,才懂得人间的味道,因此也必须学会珍惜人生和珍惜感情。


67、人们最害怕的是无常变化,要学习适应环境的变化和变化中另谋创新,并不是停留在变化的痛苦中。


68、心灵激情不在,就可能被打败。


69、凡事不要说“我不会”或“不可能”,因为你根本还没有去做!


70、成功不是凭梦想和希望,而是凭努力和实践。


71、上帝说:你要什么便取什么,但是要付出相当的代价。


72、目标的坚定是性格中最必要的力量源泉之一,也是成功的利器之一。没有它,天才会在矛盾无定的迷径中徒劳无功。


73、当你无法从一楼蹦到三楼时,不要忘记走楼梯。要记住伟大的成功往往不是一蹴而就的,必须学会分解你的目标,逐步实施。


74、无论你觉得自己多么的了不起,也永远有人比你更强。


75、没有播种,何来收获;没有辛苦,何来成功;没有磨难,何来荣耀;没有挫折,何来辉煌。


76、相信就是强大,怀疑只会抑制能力,而信仰就是力量。


77、一个人除非自己有信心,否则带给别人信心。


78、除非想成为一流,否则就是二流。


79、在你内心深处,还有无穷的潜力,有一天当你回首看时,你就会知道这绝对是真的。


80、成功,往往住在失败的隔壁!


81、宁可辛苦一阵子,不要苦一辈子。


82、为成功找方法,不为失败找借口。


83、蔚蓝的天空虽然美丽,经常风云莫测的人却是起落无从。但他往往会成为风云人物,因为他经得起大风大浪的考验。


84、决不能放弃,世界上没有失败,只有放弃。


85、请记得,好朋友的定义是:你混的好,她打心眼里为你开心;你混的不好,她由衷的为你着急。


86、要有梦想,即使遥远。


87、努力爱一个人。付出,不一定会有收获;不付出,却一定不会有收获,不要奢望出现奇迹。


88、承诺是一件美好的事情,但美好的东西往往不会变为现实。


89、每个人都有自己鲜明的主张和个性,不要识途去改变他人,同样,也不要被他人所改变。改了,就不是自己了。


90、没有十全十美的东西,没有十全十美的人,关键是清楚到底想要什么。得到想要的,肯定会失去另外一部分。如果什么都想要,只会什么都得不到。


91、这个世界最脆弱的是生命,身体健康,很重要。


92、现在站在什么地方不重要,重要的是你往什么方向移动?


93、对一个年轻人而言最重要的是个人价值的增加。


94、失去金钱的人损失甚少,失去健康的人损失极多,失去勇气的人损失一切。


95、你必须百分之百的把自己推销给自己。


96、老天爷对每个人都是公平的。


97、不要试图控制别人,不要要求别人理解你。


98、活在当下,别在怀念过去或者憧憬未来中浪费掉你现在的生活。


99、不要忘本,任何时候,任何事情。


100、欲望以提升热忱,毅力以磨平高山。

你可能感兴趣的:(java实现自动朗读txt文本中的内容)