多语言展示
当前在线:1996今日阅读:27今日分享:41

java实现消息通知提示音

我们用电脑版QQ时候,每当好友发来1条消息,就会响1下“滴滴滴滴”提示音,相信大家都很熟悉。对于做软件的朋友来说,实现这项功能是很简单的。当我们收到1条消息后,专门创建1个线程去播放提示音,提示音播放完,线程也就结束了。为什么要专门新建1个线程呢?因为只有这样才不会影响软件执行其它操作。如果每次都要等声音播放完,你才能打开聊天窗口,这样的软件你受得了吗?多线程的作用就是为了并发运行,充分利用电脑性能。为什么用java实现?因为其它语言我不会。
工具/原料

如果你想看懂本经验,前提是你学过JAVA编程基础和会用Eclipse编程工具,否则就不用往下看了!

方法/步骤
2

我们只需要把播放提示音的“线程类”编写好,哪里需要提示音,调用一下即可。为了测试“提示音”效果,我在Eclipse中新建了1个项目。项目文件夹路径:D:\java项目\java实现聊天消息提示音项目文件:①Call.java,在src文件夹,只有1个main函数,用来调用“线程类”的。②PlayAudio,在src文件夹,“线程类”,本经验关键技术。③jmf.jar,在External Jars文件夹,支持音视频播放的类集合,如果不导入到项目中,是没有作用的。④msg.wav,在sound文件夹,提示音⑤bin文件夹、.classpath、.project是创建项目的时候自动生成。

3

现在开始编写“线程类”,这个类实现了Runnable接口和run方法,在run方法中播放声音。还有1种线程类是继承Thread类,但由于java只能继承1个类,继承了Thread,就无法继承其它的类,有点缺陷,一般我不用这种方式。请仔细观察“导入的类”,带有javax字样的类,就是引用jmf.jar中的类。

4

①这一步是要把msg.wav路径转成URL。之所以搞得这么复杂,那是因为这些代码可以实现当“项目文件夹”转移到其它路径时,代码能自动获取路径。②而路径要转成URL,格式必须为:(file://)协议+(/)本主机+路径(D:/java项目 /java实现聊天消息提示音/sound/msg.wav)

5

剩下的就是创建player对象播放声音了,比较简单。

6

这是Call.java源文件中的代码,调用“线程类”,测试声音的时候,运行这个源文件就行。①创建PlayAudio对象:new PlayAudio()②利用PlayAudio对象创建Thread对象:new Thread(new PlayAudio())③调用start()方法:new Thread(new PlayAudio()).start();

推荐信息