如果你想看懂本经验,前提是你学过JAVA编程基础和会用Eclipse编程工具,否则就不用往下看了!
我们只需要把播放提示音的“线程类”编写好,哪里需要提示音,调用一下即可。为了测试“提示音”效果,我在Eclipse中新建了1个项目。项目文件夹路径:D:\java项目\java实现聊天消息提示音项目文件:①Call.java,在src文件夹,只有1个main函数,用来调用“线程类”的。②PlayAudio,在src文件夹,“线程类”,本经验关键技术。③jmf.jar,在External Jars文件夹,支持音视频播放的类集合,如果不导入到项目中,是没有作用的。④msg.wav,在sound文件夹,提示音⑤bin文件夹、.classpath、.project是创建项目的时候自动生成。
现在开始编写“线程类”,这个类实现了Runnable接口和run方法,在run方法中播放声音。还有1种线程类是继承Thread类,但由于java只能继承1个类,继承了Thread,就无法继承其它的类,有点缺陷,一般我不用这种方式。请仔细观察“导入的类”,带有javax字样的类,就是引用jmf.jar中的类。
①这一步是要把msg.wav路径转成URL。之所以搞得这么复杂,那是因为这些代码可以实现当“项目文件夹”转移到其它路径时,代码能自动获取路径。②而路径要转成URL,格式必须为:(file://)协议+(/)本主机+路径(D:/java项目 /java实现聊天消息提示音/sound/msg.wav)
剩下的就是创建player对象播放声音了,比较简单。
这是Call.java源文件中的代码,调用“线程类”,测试声音的时候,运行这个源文件就行。①创建PlayAudio对象:new PlayAudio()②利用PlayAudio对象创建Thread对象:new Thread(new PlayAudio())③调用start()方法:new Thread(new PlayAudio()).start();