java音频播放器

项目中的com.mr.service.MusicPlayer类是音频播放器类,该类使用 javax.sound.sampled包中提供的混音器工具实现音频播放功能。

MusicPlayer类实现了Runnable接口,并在成员属性中定义了一个线 程对象,该线程对象用于启动混音器数据行的读写业务。

MusicPlayer类的定义如下:

定义

MusicPlayer类的构造方法有两个参数,filepath表示音乐文件的完整 文件名,circulate表示是否重复播放。构造方法抛出找不到文件异常, 外部类创建MusicPlayer类对象时,必须捕捉此异常。

MusicPlayer类构造方法的具体代码如下:

构造方法

MusicPlayer类要实现Runnable接口,必须先实现run()方法。在run() 方法中声明了一个128K的缓冲区字节数组,程序以不断循环的方式将 音乐文件以音频输入流格式读入缓冲区,再把缓冲区的数据写入混音器 源数据行中,这样就可以不断地向外部音频设备发送音频信号,实现播 放音乐的效果。

run()方法的具体代码如下:

代码

现在只要将MusicPlayer类放入线程中,就可以播放音乐。创建 play()方法,在该方法中实例化线程对象,在构造时将本类作为参数传 入,然后开启线程。

play()方法的具体代码如下:

代码

要想停止音乐播放,只需将线程强制停止即可。创建stop()方法, 在该方法中强制停止线程。stop()方法的具体代码如下:

代码

发表评论