1、要实现这个功能,需要2样东西。第一、“提示音”音频文件,请在百度搜索下载,有很多。第二、jmf包(Java Media Framework Java煤体框架),这是java语言用来支持音视频播放的类,可以到oracle官网免费下载。编写代码之前,必须把JMF包导入到项目中。导入方法:右键项目名称->构建路径->配置构建路径->库->类路径->添加外部JAR
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();