| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 12129 人关注过本帖
标题:JAVA版音乐播放器YOYOPlayer1.0
收藏  订阅  推荐  打印 
千里冰封
Rank: 12Rank: 12Rank: 12
来自:灌水之王
等级:版主
威望:155
帖子:28360
积分:4616
注册:2006-2-26
JAVA版音乐播放器YOYOPlayer1.0

从最初的写第一个简单的Netbeans音乐插件,到现在的YOYOPlayer,中间经历了一些时间.感谢我的女朋友对我的帮助,所以此播放器取名为 YOYOPlayer,因为YOYO是她的名字,这个播放器的所有界面的图片也都是她做的.她刚刚学会PS,所以界面方面可能还不太完美,但至少也是一个尝试了,欢迎大家试用,并提出宝贵意见.
    YOYOPlayer的主要用处还是在linux下的使用,虽然我大部份时间是在windows下面编写的,因为WINDOWS下的音乐播放软件已经很完美了,只不过用JAVA写的比较少而已,并且这个版本是完全的JAVA的版本,只要电脑装了JAVA就可以跑了,不需要再另外下载JMF的框架了,因为没有用到JMF里面的东西.在LINUX下面播放器好像都不太好用,特别是播放音乐的,要么就会出现乱码的问题,要么就会没有歌词同步的功能,而 YOYOPlayer经过我在ubuntu7.10下面的初步测试,并没有发现乱码问题,因为我默认是使用GBK的编码读取标签的,而LINUX默认的编码是UTF-8.
   使用提示:
   电脑上需装了JAVA运行环境,JRE,因为我是在JDK6.0下面编码的,并且用到了JDK6.0的新特性,所以要求运行环境也是JRE6.0.
  
目前能实现的功能有:
1,自动保存当前配置。
    可以新建多个播放列表,每一个播放列表都可以单独保存,也可以全部保存,在关闭YOYOPlayer的时候,会自动保存当前的配置和设置,在并在下一次开启的时候,自动读取最后一次的配置
2,同步显示歌词功能。
    在打开一首歌的时候,会按如下步骤查找歌词,先是取歌曲的ID3V1标签内容查找本地,如果没有查到,就取歌曲的文件名查找本地文件,如果还没有查到,就按以上顺序,先用标签再用歌曲的文件名去网格上搜索。在这里要说明的是,很多ID3V1的标签是不合法的,里面很多广告信息,所以可以自己手工编辑一下 ID3V1的内容。这样就可以更方便地搜索到歌词了。存放歌词的文件夹目前是硬编码在用户的目录下,也就是user.home这个属性的目录的 Lyrics文件夹下面。比如C:\Documents and Settings\hadeslee\Lyrics,如果预先有歌词的话,可以把歌词的LRC文件拷到该文件夹下面,以免每首歌都去网络上查找。一般千千静听的用户歌词都是保存在C:\Program Files\TTPlayer\Lyrics目录下的,所以可以预先把这里面的LRC文件拷到程序所使用的文件夹里面去。如果本地没有找到歌曲,则会去网络上搜索,当有匹配的歌词以后,会自动下载并保存在user.home/Lyrics文件夹下面,这样下次放同一首歌就不用去网络上搜索了。所以为了提高搜索歌词的准确率,请规范命名MP3文件或者编辑ID3V1标签。
3,ID3V1标签编辑。
    在播放列表里面对着选中的歌曲点右键就可以选择“歌曲信息”来编辑ID3V1标签,有一点需要注意的是,不能编辑正在播放的歌曲,因为正在使用的文件保存不了,不知道千千静听是怎么实现的,反正我这里写入的时候会抛出一个IOException异常,提示我另一进程正在使用该文件,不知道各位有没有什么好办法,可以在文件使用的时候更改它。
4,歌曲进度。
    歌曲进度可以由两个地方来控制,一个是拖动进度条,还有一个很好的地方是在歌词显示窗口,在歌词显示窗口,当把鼠标移上面,鼠标变成了手形就说明歌词是可以拖动的,按住鼠标左键不放左右拖动就可以了,这样可以根据歌词来拖动进度,确实是挺方便的。当歌词显示是水平显示的时候,可以左右拖动,是垂直显示的时候,可以上下拖动.默认是垂直显示,当然也可以改为水平显示歌词秀.
5,校正歌词进度。
    在歌词显示的时候可以把鼠标放到歌词显示窗口滑动鼠标的滚轮,上下滑动以整体移动歌词。比如有些歌词会整体快几秒或者慢几秒,用这种方法校正就很方便了,不过不像千千静听一样会保存。只是内存里面改了而已,歌词文件并没有改:(

6,拖放。
如果没有搜索到匹配的歌词,而电脑里面有歌词,可以把LRC歌词文件直接拖到歌词显示窗口,如果LRC是合法的文件的话,会立即显示你拖进去的歌词文件。同样,可以把文件或者文件夹直接拖放到播放列表上,文件夹的拖放只遍历一层,不会递归遍历(为了效率:))。

7,拖放排序播放列表
对播放列表的排序以前只能用鼠标点中某一首歌,然后点右键,选择上移一格或者下移一格,现在可以直接选中歌曲,直接拖动
就可以完成排序功能了,并且还增加了播放列表中查找某首歌曲的功能.更多功能可以对着播放列表点击右键来慢慢尝试.:)

8,调音器
可以对音乐的十个频段进行调整,调出自己喜欢的音乐风格.当然也可以使用默认的,也可以选用预置的一些音乐效果.

9,可以播放本地歌曲,也可以播放网络歌曲.只要添加网络歌曲的网址就可以实现在线播放了.


    最小化的时候,默认是最小化到托盘区去了,双击托盘区或者点击右键就可以调出主界面了.
   提示:为了搞高歌词搜索的正确率,请点击歌曲文件查看其属性,看文件的标签是否合法,或者文件名的命名是否规范.

程序运行截图如下:


请点击这里下载可执行文件

[[italic] 本帖最后由 千里冰封 于 2007-12-17 10:29 编辑 [/italic]]
附件: 只有本站会员才能下载或查看附件,请您 登录注册
搜索更多相关主题的帖子: JAVA  音乐播放器  
2007-12-17 10:28
哈桑·萨巴赫
Rank: 1
等级:新手上路
帖子:14
积分:248
注册:2007-7-20

哈桑判定:此软件无毒。

速度上有点慢。

对.wma格式的文件支持的不太好。

最后得分:6分(10制)

/*如果是千里冰封作的就给7分*/

父上啊,何等宽厚之慈爱!
2007-12-17 12:24
Eastsun
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:32
帖子:801
积分:8542
注册:2006-12-14

很好,很强大!

My BlogClick Me
2007-12-17 16:16
jitabc
Rank: 1
等级:新手上路
帖子:2
积分:120
注册:2007-6-20

好强啊,能不能开源啊?
2007-12-17 16:17
Eastsun
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:32
帖子:801
积分:8542
注册:2006-12-14

里面的mp3播放功能是自己实现的还是使用了第三方工具库?

My BlogClick Me
2007-12-17 16:17
千里冰封
Rank: 12Rank: 12Rank: 12
来自:灌水之王
等级:版主
威望:155
帖子:28360
积分:4616
注册:2006-2-26

使用了第三方的库JLayer,它是基于javax.sound.sampled.spi的,纯JAVA的MP3解码器

可惜不是你,陪我到最后
2007-12-17 16:58
china008
Rank: 2
等级:注册会员
帖子:75
积分:858
注册:2007-5-8

佩服
顶一个,啥时我能写一个出来

2007-12-18 11:14
YongGG
Rank: 1
等级:新手上路
帖子:6
积分:162
注册:2007-11-16

我初学刚起步,羡慕!!!
2007-12-18 13:53
Toanso
Rank: 2
来自:杭州
等级:注册会员
帖子:100
积分:1156
注册:2007-10-22
回复 2# 的帖子

怒赞千里啊,越来越强大了,你的截图还没看懂那,又出播放器了,呵呵能不能开源啊不知道,要好好学习一下了。


   Programming is fun;
2007-12-18 15:46
lgdcky
Rank: 4
等级:高级会员
威望:5
帖子:558
积分:5694
注册:2006-8-5

好羡慕冰峰啊!有人督促就能写出来!

2007-12-18 17:09
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.066451 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved