swing的mp3播放器

一直在关注lfp001 大神的mp3解码文章.响应大神的号召,用swing给播放包加了个壳.本着拿来主义,仿照google的播放器,断断续续的写到现在,勉强可用.先上图(我正在用这个播放器,边听边写这段文章swing的mp3播放器 )

 

2010/9/19:

添加了音量控制.但是在Ubuntu上暂时无法启用,原因未知...关于java的音量控制请看本人的博客文章.

修正了进度显示在60秒内未显示为0:xx,现在可以正常显示了

 

2010/10/8:

修正了暂停后会从头播放mp3的问题.

 


swing的mp3播放器

当然,现在功能及其简单,实现的功能如下:

编辑播放列表,即歌曲分组.在歌曲分组点右键.

播放/暂停

双击播放

选择播放

播放顺序设置

播放进度显示

加载播放列表(默认在jar包同一文件夹下)

关闭自动保存播放列表

音量控制(本次修改新加,但是修改了大神的Audio类,添加了一个获得control的方法,此方法已经告知大神.)

 

未实现:

快进

mp3详细信息显示和编辑

 

另,程序未经过详细测试,可能会抛异常.有问题请告诉我.

其他的诸如歌词,音量之类的慢慢来吧.

另,我怎么感觉random.nextInt(int)的随机结果真不随机...

另,其实我算法很不好,根本看不懂大神的解码代码swing的mp3播放器

 

jmp123.zip是eclipse3.4的java工程,导入即可.

player.jar是可运行jar,双击打开.

 

已知bug:

切换mp3时,进度记时未准确停止,有可能造成无法自动切换

进度显示在60秒内未显示为0:xx

在Ubuntu上汉字是乱码,不可以正常保存播放列表

暂停在Ubuntu上会造成程序不响应,在win上会造成重新播放mp3

自动切换mp3后,可能有进度监听没有销毁,和当前进度监听争夺进度条的控制

播放一首mp3后,在不退出程序的情况下播放其他mp3,帧数和长度一致都保持为第一首mp3的数值.