MyException - 我的异常网
当前位置:我的异常网» J2SE » JAVA版音乐播放器YOYOPlayer1.0解决思路

JAVA版音乐播放器YOYOPlayer1.0解决思路

www.MyException.Cn  网友分享于:2013-04-28  浏览:14次
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,可以播放本地歌曲,也可以播放网络歌曲.只要添加网络歌曲的网址就可以实现在线播放了.


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


------解决方案--------------------
点了YOYOPlayer.jar什么都没有.我的jdk是1.5的会有问题吗
------解决方案--------------------
支持一下

------解决方案--------------------
厉害,支持一下
------解决方案--------------------
在blogjava上已经见到过了,牛人,希望参考下你的源码,呵呵
------解决方案--------------------
牛人一定要顶下

------解决方案--------------------
接分, 顶.
------解决方案--------------------
但是我是抱着学习的态度来看的,没源文件我就有点弄不懂了。
------解决方案--------------------
厉害 要是你再写个播放视频的我会更感谢你的
 我正好需要一个读取视频的程序
呵呵

------解决方案--------------------
如果能支持1.4就好了
------解决方案--------------------
顶啊
LZ我要源代码
------解决方案--------------------
顶啊

LZ能给我看看源码吗
------解决方案--------------------
厉害 顶~~~~~~~
------解决方案--------------------
强~

------解决方案--------------------

文章评论

10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
中美印日四国程序员比较
中美印日四国程序员比较
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员的鄙视链
程序员的鄙视链
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员都该阅读的书
程序员都该阅读的书
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
我是如何打败拖延症的
我是如何打败拖延症的
程序员应该关注的一些事儿
程序员应该关注的一些事儿
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
老程序员的下场
老程序员的下场
编程语言是女人
编程语言是女人
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
Java程序员必看电影
Java程序员必看电影
10个调试和排错的小建议
10个调试和排错的小建议
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
漫画:程序员的工作
漫画:程序员的工作
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
总结2014中国互联网十大段子
总结2014中国互联网十大段子
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员和编码员之间的区别
程序员和编码员之间的区别
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
旅行,写作,编程
旅行,写作,编程
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
我的丈夫是个程序员
我的丈夫是个程序员
每天工作4小时的程序员
每天工作4小时的程序员
如何成为一名黑客
如何成为一名黑客
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
鲜为人知的编程真相
鲜为人知的编程真相
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有