`
java.lang.Object
  • 浏览: 11102 次
  • 性别: Icon_minigender_1
  • 来自: 鹭岛
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

开源JAVA音乐播放器YOYOPlayer1.2发布,全面改进歌词搜索

阅读更多

注意:
JRE的最低版本是:1.6

本项目的所有代码已移到google code,此前在sourceforge和java.net项目不再维护了,现在项目的地址为:

http://code.google.com/p/yoyoplayer

在使用过程中有任何问题,都欢迎在此留言。

 

1.2更新[2009-08-02]
1,全新的歌词搜索方式,使搜索率大大提高。
2,把整个代码全部移到google code上去。以前的sourceforge和java.net已经不再维护了。
=====================================================================================
1.1.3更新[2008-07-28]

1,完全去除了其它的搜索部分,因为有些网页格式经常会变动,所以一段时间以后可能又搜不到歌词了,现在搜索歌词用的是百度的filetype:lrc 歌曲名-歌手名 的方式进行搜索.
2,更新了在线搜索歌词的时候,只能下载一首的情况,以前点了下载之后,整个界面就不可用了,要重新输入歌曲信息才可用,现在已经不做限制了.
3,修补了当以前下载并匹配的歌词文件不见的时候,会出现既不下载新的歌词也不提示出错,现在当以前的歌词文件不存在时,会自动上网搜索新的歌词.
==================================================================================
1.1.2更新[2008-04-03]

1,更改了精品网页的歌词搜索部分,因为精品网页的内容发生了改变,如果不更改对应的搜索方式的话
将不能从精品网页上查询到歌词,无论怎么样,都对精品网页表示感谢,它的网址是:http://www.jpwy.net/gc
2,修正了程序在某些LINUX版本上的系统上打开会抛出异常而影响程序使用的BUG.
3,在歌词秀窗口去掉了作者的名字:),此前的不便,望各位用户原谅.
4,在使用过程中,有任何的建议,可以加作者的QQ:24325142,注明yoyoplayer,或者
登录http://www.blogjava.net/hadeslee上留言,此博客为作者的博客,再此感谢大家对yoyoplayer的支持.
==================================================================================

    YOYOPlayer1.0版推出之后,得到了一些朋友的认可和反馈,经过这段时间的修改,现在推出YOYOPlayer1.1版.相对于1.0版,改进的地方如下:
一,设置方面
1,增加了首选项的功能,很多方面现在已经可以配置
二,歌词方面
1,增加了歌词搜索的自主性,用户可以选择自定义搜索关键字,也可以自定义是否和歌词文件相关联,这里的关联并不是把歌词写入歌曲文件,而是在程序中建立一种关联,以免每次播放这首歌的时候都去搜索歌词,而是直接去读取关联好的歌词文件.
2,增加了指定歌词的搜索目录,指定歌词的保存目录功能.为了性能考虑,歌词的搜索目录不会往下递归,只搜索设置的那一级目录.
3,歌词的设置更为丰富,很多地方以前是固定的,现在都是可以改变的,并且增加了纵向显示歌词的卡拉OK显示功能,还支持字体是否抗锯齿显示的选项.
4,支持淡入淡出显示歌词,支持多种对齐方式.
5,在windows下面支持歌词窗口的透明显示.在linux下面,此选项将被禁用:(
三,标签方面
1,现在完全支持ID3v1,ID3v2,APEv2,Vorbis标签的读取和写入,并可设置标签的读取和写入的编码.以免在读取标签的时候出现乱码的情况.程序的默认设置编码是GBK,如果是UTF-8的用户,可以在首选项修改.
四,其它方面
1,可以选择音频设备,这在一定程度上可以选择几个设置对比一下效果.尽量减少播放器没有声音的情况.
2,增加在任务栏滚动显示歌曲标题.
3,支持设置代理服务器连接网络.
4,支持对播放列表进行一些细化的设置,因为程序预设的颜色不一定符合大家的审美观.
5,配置目录现在改为{user.home}/.YOYOPlayer/,默认的歌词目录是{user.home}/.YOYOPlayer/Lyrics/
6,快捷键:C:播放,V:停止,B:下一首,空格:暂停,F2:显示/隐藏歌词秀,F3:显示/隐藏EQ窗口,F4:显示/隐藏播放列表
7,在一定程度上实现了窗口的吸附的功能,虽然不是很完美,还望各位有什么好的想法一起分享:)
在首选项里在的还有很多功能没有实现,因为个人的精力实在有限,YOYOPlayer项目已经在google code上申请了项目,有想一起开发的朋友,可以和我联系.

YOYOPlayer现在项目已经移至google code,以前的sourceforge和java.net上面的项目不再维护了。因为速度很慢。
google code上主页的地址是:
http://code.google.com/p/yoyoplayer
在程序的使用过程中有任何意见和BUG反应,请到http://code.google.com/p/yoyoplayer/issues/list上新建issue。
在使用的过程中,有任何问题,欢迎到http://www.blogjava.net/hadeslee或者上留言.也可以加本人的QQ:24325142.希望和大家一起探讨JAVA问题,让JAVA的浓香飘的更远.
最后,谢谢我的女友YOYO这段时间以来以我的关心和鼓励.

下载地址为:

http://yoyoplayer.googlecode.com/files/YOYOPlayer1.2.zip

 

 

分享到:
评论
24 楼 zjhlht 2010-04-14  
哈哈~~~不错啊!

记得当时一点一出来的时候还用过一段时间呢!但是用了一阵就不用了!只关注源码了!
23 楼 sulifeng 2010-04-14  
wma格式java怎么支持....................
22 楼 sulifeng 2010-04-14  
支持不支持wma格式啊..................
21 楼 sulifeng 2010-04-05  
支持不支持wma格式啊..................
20 楼 JasonChi 2010-03-09  
少一个比较实用的功能哦
拖入文件夹创建一个新的播放列表,无限支持一下LZ
19 楼 sulifeng 2010-03-09  
gml520 写道
sulifeng 写道
虽然还有不少细节不太完美吧..........总体还是很强大的,总共用了17个外部jar诶..........膜拜下...~\(≧▽≦)/~....

PS:在"添加文件"和"添加文件夹"两个选项里,楼主一定使用了windows外观的JFileChooser,结果在win7系统中对话框右上角的四个小图标变成方框了.........也许是win7支持的不好........


用最新的Jre_u18 就能够解决这个问题了。


额...是解决了....
18 楼 johnson.lee 2010-03-08  
不错,继续关注
17 楼 gml520 2010-03-08  
sulifeng 写道
虽然还有不少细节不太完美吧..........总体还是很强大的,总共用了17个外部jar诶..........膜拜下...~\(≧▽≦)/~....

PS:在"添加文件"和"添加文件夹"两个选项里,楼主一定使用了windows外观的JFileChooser,结果在win7系统中对话框右上角的四个小图标变成方框了.........也许是win7支持的不好........


用最新的Jre_u18 就能够解决这个问题了。
16 楼 sulifeng 2010-03-07  
虽然还有不少细节不太完美吧..........总体还是很强大的,总共用了17个外部jar诶..........膜拜下...~\(≧▽≦)/~....

PS:在"添加文件"和"添加文件夹"两个选项里,楼主一定使用了windows外观的JFileChooser,结果在win7系统中对话框右上角的四个小图标变成方框了.........也许是win7支持的不好........
15 楼 leesonhomme 2010-02-22  
真不错,我看以后就用这个音乐播放器了。
就是没有源码下。
14 楼 java.lang.Object 2010-01-06  
prowl 写道
其实很早以前就看过楼主发类似的东西一直没亲自试过。

下载来看看,真的很赞!!!想问下楼主的播放时用的jmf嘛

没有用JMF,用的是javax.sound.的SPI机制
13 楼 prowl 2010-01-06  
其实很早以前就看过楼主发类似的东西一直没亲自试过。

下载来看看,真的很赞!!!想问下楼主的播放时用的jmf嘛
12 楼 ajonjun 2010-01-06  
不错的东西,谢谢f
11 楼 leejon 2009-12-26  
好像我还遇上个问题。
在线更新的哪里,。点击更新后,那几个模式窗口就有点问题了。最后面弹出一个小小的窗口,竟然在父窗口后面。我还是结束进程才关掉的。
10 楼 lyndon.lin 2009-12-26  
虽然看起来没什么作用,但是为了安全了,还是加这个转换比较好。
9 楼 reilf 2009-11-12  
先赞一个,不知道有没有实现频谱功能。
8 楼 keating 2009-09-10  
Object真鼻祖啊...
7 楼 liu_hliang 2009-08-26  
下来试了试,效果不错呀
6 楼 pejaming 2009-08-26  
carlkkx 写道
看了一点源代码,我觉得作者对于java字符串理解还是不深刻。


在一个Util类里面我看到这样一个函数
public static String convertString(String source, String encoding) {
        try {
            byte[] data = source.getBytes("ISO8859-1");
            return new String(data, encoding);
        } catch (UnsupportedEncodingException ex) {
            return source;
        }
}
这个函数的意图似乎叫做转换,但是它的输入是String类型的东西,输出也是String类型的东西,这个过程你是转不了什么的,这是一个没意义的操作。
当我们定义String a ="天下";请问a变量指向的String对象里面存储的二进制形式是什么?答案必然是对"天下"这两个字符以某种编码方案的编码后的二进制内容。那么是什么编码方案呢?正如java宣称的那样是Unicode。没错,所谓java支持Unicode就是这个意思。现在我们来看这个函数,传进来一个source,然后执行这个source.getBytes("ISO8859-1")。这个什么意思呢?就是说将source指向的String对象内容以这个ISO8859-1编码方案编码输出,但是请注意source指向的String对象本身的内容还是原来的Unicode的形式,只是输出符合ISO8859-1编码的一堆byte。接下来做了这个return new String(data, encoding);这个干什么呢?以某种编码方案对某堆byte进行解析,解完后构造的String对象内部还是要以Unicode形式存储的。然后来说说这个“某种编码方案对某堆byte的解析”如果匹配那自然没有问题,如果不匹配那就可能出现问题。现在从这一句byte[] data = source.getBytes("ISO8859-1");来看这堆byte是ISO8859-1编码方案生成的,那么如果以非ISO8859-1的编码方案去解这堆byte很可能出问题。
所以如果我这样
String test = "安西四镇";
String rs = convertString(test,"GBK");
System.err.println(rs);
rs打印出来是四个????

现在假如我把你的那个函数改成
public static String convertString(String source, String encoding) {
        try {
            byte[] data = source.getBytes("UTF-8");
            return new String(data, encoding);
        } catch (UnsupportedEncodingException ex) {
            return source;
        }
}

String test = "安西四镇";
String rs = convertString(test,"UTF-8");
System.err.println(rs);
这样打印出"安西四镇",没错,但是这是在做无用功。

String test = "安西四镇";
String rs = convertString(test,"GBK");
System.err.println(rs);
这样打印出"瀹夎タ鍥涢晣",乱码。

String对象到String对象的转换时没有意义的,要么瞎折腾,无用功,要么反而折腾的出错了。因为String对象对于字符一直是以Unicode形式存储的,它可以按某个编码方案输出一堆byte,也可以按某个编码方案从一堆byte解析,但是最终在内存的存储都是Unicode形式。只有当你要与外围(网络,文件,。。。)打交道的时候才会考虑转码,解码问题,两个String对象之间这不是瞎折腾吗。




有时候你拿到的string就是乱码形式,所以需要通过这类函数来重新encode一下字节数组吧

比如String param = request.getParameter("某参数"),得到的值是????

按照最粗浅的做法就是  new String(param.getBytes("某编码"),"某编码")。

这实际上就是楼主做法的含义所在,有什么问题嘛?
5 楼 uniquejava 2009-08-26  
哈哈,我找做LRC歌词的资料,搜索到这里来了。
我准备用swt/jface做个,才没做几天(上班要搞j2ee,下班做做学习学习),可以看看偶的博客http://user.qzone.qq.com/345343747/blog/1251030474,我是超级科比迷

相关推荐

    音乐播放器YOYOPlayer1.2源码

    YOYOPlayer1.2是一款基于JAVA开发的开源音乐播放器,其源码的发布为开发者提供了深入了解音乐播放软件实现机制的机会。此版本的亮点在于它对歌词搜索功能进行了全面改进,提高了用户在享受音乐的同时获取歌词的体验...

    开源JAVA音乐播放器YOYOPlayer 1.1.3

    YOYOPlayer是一款基于Java开发的开源音乐播放器,版本号为1.1.3。它提供了用户友好的界面和丰富的功能,使得音乐爱好者能够轻松管理和欣赏他们的音乐收藏。这款播放器支持多种音频格式,确保了广泛的兼容性,无论你...

    YOYOPlayer1.2

    总而言之,YOYOPlayer1.2是一款集成了多平台兼容性、高质量音频播放和歌词显示功能的Java音乐播放器,其背后的技术涵盖了Java编程、音频处理、图形界面设计等多个方面,为用户提供了便捷而丰富的音乐享受体验。

    yoyoplayer Java 音乐播放器

    "YOYOPlayer1.2" 是一款基于Java开发的音乐播放器,名为“yoyoplayer”。这个播放器专为音乐爱好者设计,提供了简洁易用的界面和基本的音乐播放功能。在Java环境下,开发者通常利用Java的多媒体库来实现音频播放,如...

    yoyoplayer1.2.zip

    【yoyoplayer1.2.zip】是一款专为Mac Pro用户设计的高级播放器软件,它在功能和用户体验上与知名的“千千静听”类似,提供了丰富的音乐播放体验。这款播放器不仅支持多种音频格式,还具备同步显示歌词的功能,让用户...

    YOYOPlayer1.2.zip_player

    YOYOPlayer1.2.zip_player 是一个以Java编程语言开发的音乐播放器,它与知名的千千静听软件有着相似的功能。作为一个开源项目,它的源代码可供开发者学习、研究和改进,这为技术爱好者提供了深入理解音乐播放器开发...

    YoYo1.2 java音乐播放器源代码

    【YoYo1.2 Java音乐播放器源代码】是一个开源项目,主要针对Java开发者,用于学习和理解如何在Java环境中实现一个音乐播放器。这个项目提供了完整的源代码,可以帮助开发者深入理解多媒体处理、用户界面设计以及Java...

    开源Java音乐播放器,很有参考价值

    【开源Java音乐播放器】是一种基于Java编程语言开发的音乐播放软件,它的源代码对外公开,允许用户查看、学习甚至修改。这样的项目对于Java初学者和开发者来说具有极高的学习和参考价值,能够帮助他们深入理解Java...

    仿千千静听 YOYOPlayer java 音乐播放器

    YOYOPlayer是一款基于Java开发的音乐播放器,其设计灵感来源于经典的千千静听。作为一个用Java语言实现的多媒体应用程序,YOYOPlayer展现了Java跨平台的特性,可以在多个操作系统上运行,包括Windows、Linux和Mac OS...

    java开源音乐播放器

    Java开源音乐播放器,YOYOPlayer-src,是一个基于Java Swing技术构建的音乐播放软件。Swing是Java标准库的一部分,提供了丰富的用户界面组件,用于构建桌面应用,包括音乐播放器这样的多媒体应用程序。这款播放器因...

    YOYOPlayer1.1

    相对于1.0版,改进的地方如下: 一,设置方面 1,增加了首选项的功能,很多方面现在已经可以配置 二,歌词方面 1,增加了歌词搜索的自主性,用户可以选择自定义搜索关键字,也可以自定义是否和歌词文件相关联,...

    java写的音乐播放器(含源码)

    Java编写的音乐播放器,如"YoYoPlayer"或"java Player",是利用Java编程语言实现的多媒体应用。这种播放器通常具有丰富的功能和友好的用户界面,旨在为用户提供流畅、便捷的音乐聆听体验。在Java中创建一个音乐...

    YOYOPlayer1.1.3-src.zip_AudioFileReader JAVA_Java 播放器_YOYOPlayer

    YOYOPlayer1.1.3-src.zip是一款基于Java开发的音频播放器源代码包,名为YOYOPlayer。这个项目的版本是1.1.3,它提供了对音频文件的读取和播放功能。开发者使用了AudioFileReader接口,这是Java Sound API的一部分,...

    功能强大的Java播放器(YOYOPlayer)

    YOYOPlayer是一款基于Java Swing开发的功能强大的媒体播放器。它展示了如何在Java环境中利用Swing库来构建一个用户界面,并实现多媒体播放功能。Java Swing是Java Standard Edition (Java SE)的一部分,提供了一套...

    Java写的视频播放器YOYOPlayer源码.rar

    Java写的视频播放器,YOYOPlayer播放器源码,支持网络媒体的播放,根据传入的歌名和歌手名,得到一个搜索的列表。注意,传进来的不能为null,否则将会出现不可意料的异常,这个方法调用另一个方法,并且进行多种组合...

    基于Java的网络播放器YOYOPlayer源代码.zip

    YOYOPlayer是一款基于Java开发的网络播放器,其源代码为我们提供了一个深入理解Java编程、多媒体处理以及网络通信技术的良好实例。在这个项目中,开发者可以学习到如何利用Java实现一个功能丰富的媒体播放器,包括...

    YOYOPlayer java技术播放器

    YOYOPlayer是一款基于Java技术开发的音乐播放器,它的设计灵感来源于经典的千千静听,因此在界面风格和用户体验上,YOYOPlayer力求简洁、美观,带给用户良好的听觉享受和操作体验。作为一款Java技术播放器,它充分...

    java源码资源YOYOPlayer基于Java的网络播放器源代码

    java源码资源YOYOPlayer 基于Java的网络播放器源代码提取方式是百度网盘分享地址

    一个java写的类天天静听的开源音乐播放器

    【标题】中的“一个java写的类天天静听的开源音乐播放器”表明...总的来说,这个开源音乐播放器项目提供了一个全面学习Java编程、GUI设计、音频处理和软件工程实践的实例,对于想要提升Java技能的开发者来说极具价值。

Global site tag (gtag.js) - Google Analytics