阅读更多
注意:
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
58
4
评论 共 52 条 请登录后发表评论
52 楼 wcl6210 2011-12-06 15:24
2011-12-6 15:13:47 com.hadeslee.yoyoplayer.util.Config load
信息: 配置加载成功!!
2011-12-6 15:13:48 com.hadeslee.yoyoplayer.equalizer.EqualizerUI <init>
信息: 均衡器不为NULL
2011-12-6 15:13:49 com.hadeslee.yoyoplayer.player.ui.TimePanel <init>
信息: 初始化的isNormal:true
2011-12-6 15:13:49 com.hadeslee.yoyoplayer.lyric.LyricPanel start
信息: 歌词开始显示了...
2011-12-6 15:13:49 com.hadeslee.yoyoplayer.player.ui.Main loadJS
信息: 可用的MIXER:Ö÷ÉùÒôÇý¶¯³
2011-12-6 15:13:49 com.hadeslee.yoyoplayer.player.ui.Main loadJS
信息: 可用的MIXER:ÑïÉùÆ÷ (High Definition Audio É豸)
2011-12-6 15:13:49 com.hadeslee.yoyoplayer.player.ui.Main loadJS
信息: 可用的MIXER:Java Sound Audio Engine
2011-12-6 15:13:49 com.hadeslee.yoyoplayer.player.ui.Main loadJS
信息: Config.Mixer=Ö÷ÉùÒôÇý¶¯³
2011-12-6 15:13:49 com.hadeslee.yoyoplayer.player.ui.PlayerUI loadPlaylist
信息: lastPlay=null
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:852)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:793)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:718)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1041)
at com.hadeslee.yoyoplayer.util.GAEUtil.getObjectInputStream(GAEUtil.java:113)
at com.hadeslee.yoyoplayer.util.GAEUtil.vote(GAEUtil.java:49)
at com.hadeslee.yoyoplayer.util.Util.voteOpen(Util.java:116)
at com.hadeslee.yoyoplayer.player.ui.CheckThread.run(CheckThread.java:71)
format:mp3
2011-12-6 15:19:22 com.hadeslee.audiotag.audio.AudioFile checkFilePermissions
信息: Reading file:pathE:\dd\下一个天亮.mp3:abs:E:\dd\下一个天亮.mp3
2011-12-6 15:19:22 com.hadeslee.audiotag.audio.mp3.MP3File readV1Tag
信息: No ids3v11 tag found
2011-12-6 15:19:22 com.hadeslee.audiotag.audio.mp3.MP3File readV2Tag
信息: Attempting to read id3v2tags
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.id3.AbstractID3v2Tag seek
信息: ByteBuffer pos:0:limit1097:cap1097
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.id3.ID3v24Tag read
信息: 下一个天亮.mp3:Reading tag from file size set in header is1087
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.id3.framebody.AbstractID3v2FrameBody read
信息: Reading body forTIT2:13
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.datatype.NumberFixedLength readByteArray
信息: Read NumberFixedlength:1
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.datatype.TextEncodedStringSizeTerminated readByteArray
信息: Read SizeTerminatedString:下一个天亮 size:12
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.id3.framebody.AbstractID3v2FrameBody read
信息: Reading body forTPE1:7
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.datatype.NumberFixedLength readByteArray
信息: Read NumberFixedlength:1
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.datatype.TextEncodedStringSizeTerminated readByteArray
信息: Read SizeTerminatedString:郭静 size:6
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.id3.framebody.AbstractID3v2FrameBody read
信息: Reading body forTALB:13
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.datatype.NumberFixedLength readByteArray
信息: Read NumberFixedlength:1
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.datatype.TextEncodedStringSizeTerminated readByteArray
信息: Read SizeTerminatedString:下一个天亮 size:12
2011-12-6 15:19:22 com.hadeslee.audiotag.tag.id3.ID3v24Frame read
信息: 下一个天亮.mp3:Invalid identifier:
51 楼 Megi 2010-02-09 15:15
赞一个,效果很好,顶起!
50 楼 andy54321 2010-01-07 17:18
主页上download不下那两个文件
辛苦哪位兄弟给发一份
guofangsky@gmail.com
谢了
49 楼 lidengm 2009-08-25 09:34
今天才发现,失败
顶LZ一个,最近做了个Swing的小项目,感觉蛮好,呵呵。。。
期待更多牛人啊
48 楼 enilu 2009-08-12 09:46
前面的YOYOplayer.bat里有点乱了,贴个清洁的,
@echo off

rem 下面使用的是绝对路径(给个为你自己jdk的路径)
set JAVA_HOME=E:\Program\Java6\jdk1.6
@echo Create the classpath
set CP=;
for %%i in (lib\*.jar) do call cp.bat %%i
for %%i in (YOYOPlayer.jar) do call cp.bat %%i
set CP=%CP%;
@ rem echo classpath:%CP%
%JAVA_HOME%\bin\java.exe -cp %CP% com.hadeslee.yoyoplayer.player.ui.Main

cp.bat:
set CP=%CP%;%1
47 楼 enilu 2009-08-12 09:35
给个运行的bat吧呵呵(用了两个bat文件,shell同理,改天弄好贴下):
YOYOplayer.bat
@echo off
REM Change the following line to set your JDK path
set   CURRENT_DIR=%cd% 
rem 下面使用的是jdk安装的绝对路径
set JAVA_HOME=E:\Program\Java6\jdk1.6

@echo Create the classpath
set CP=;
for %%i in (lib\*.jar) do call cp.bat %%i
for %%i in (YOYOPlayer.jar) do call cp.bat %%i
set CP=%CP%;

@ rem echo start agent
@ rem echo classpath:%CP%

%JAVA_HOME%\bin\java.exe -cp %CP% com.hadeslee.yoyoplayer.player.ui.Main
cp.bat:
set CP=%CP%;%1

46 楼 tvmovie 2009-08-10 09:15
试用了下,还不错啦,随着ubuntu的流行,跨平台是个超级亮点。
只是,似乎比winamp播放时占的内存稍多。
另外,希望 歌词搜索 可以加入 歌曲所在文件夹 这个选项和功能。
45 楼 panshenglu 2009-08-10 09:11
可以好好学习学习
44 楼 木石流云 2009-08-10 08:13
好久没见冰封大哥了,居然在这里遇见
43 楼 gmizr 2009-08-05 10:42
lz应该做个bat,还有linux/mac下的shell文件
这里都有人跟贴不知道怎么用
你让普通用户怎么办
42 楼 elf8848 2009-08-05 09:09
   下载试用了, 很好 , 真的不错
41 楼 justdo2008 2009-08-04 14:16
想起了是千里冰封为女朋友yoyo写得
40 楼 justdo2008 2009-08-04 14:12
好像很久以前在BLOGJAVA上看到的,还Down过!

还不错,新版本不知如何?
39 楼 nextroad 2009-08-04 13:22
最后只能在测试的环境下运行了, 很不错, 就是有点卡
38 楼 nextroad 2009-08-04 13:16
Could not found the main class.Program will exit就显示了这么一个提示框
37 楼 src_bord 2009-08-04 11:58
呵呵~java写产品确实是很费时的~但是解决了在不同平台的不平衡~在努力中,希望有能进入开源项目中
36 楼 gml520 2009-08-04 10:05
cocoynut 写道
要是能换肤就好了


看看项目主页上的介绍把:

即将实现的功能如下:
1,兼容千千静听的皮肤风格,使之可以换肤。
2,优化linux系统下拖动的时候,窗口会乱跳的问题。
3,实现桌面歌词。
4,实现LRC歌词编辑器,可以边听歌边编辑,然后内置上传功能,方便以后的搜索。
5,完全国际化,希望英语好的同学可以加入进来,帮忙翻译内容。
35 楼 javagui 2009-08-04 08:35
在OpenSolaris上面运行,拖拽功能无效,窗口整体移动不太理想。
总之,java功能很全面。
34 楼 cocoynut 2009-08-04 08:25
要是能换肤就好了
33 楼 ycysth 2009-08-04 01:46
效果很不错啊,不够功能方面还需要改进

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【密码学引论】公开密钥密码

    【密码学引论】公开密钥密码

  • 公钥密码系统及RSA公钥算法

    摘要: 本文简单介绍了公开密钥密码系统的思想和特点,并具体介绍了RSA算法的理论基础,工作原理和具体实现过程,并通过一个简单例子说明了该算法是如何实现。在本文的最后,概括说明了RSA算法目前存在的一些缺点和解决方法。 关键词: 公钥密码体制 , 公钥 , 私钥 , RSA 中图分类号:TP309.7 §1引言 随着计算机联网的逐步实现,Internet前景越来越美好,全球经济发展正在进入信息经济时

  • 信息安全工程师笔记-公钥密钥体制概念

    公钥和私钥 公开密钥密码的思想是将传统密钥k一分为二,分为加密密钥Ke和解密密钥Kd,用加密密钥Ke控制加密,用解密密钥Kd控制解密。 每个用户都将自己的姓名、地址、公开的加密密钥等信息在KMC(密钥管理中心)登记,将公钥记入共享的密钥数据库PKDB(Public Key Database)。 公钥加密的安全性 确保数据的机密性(加密模式) 发送方: ①首先查PKDB,查到B的公开的公钥KeB; ②A用KeB加密明文M得到密文C:C=E(M, KeB); ③A发送密文C给B 接收方:.

  • RSA密码系统

    RSA是在Diffe-Hellman算法问世两年之后,由Rivest、Shamir和Adelman在MIT研究出的,并于1978年公布。 RSA系统利用这样的事实:模运算中冥的自乘数是容易解的。RSA的加密方程为: C=memodn C= m^e mod n 这里,密文C是信息m自乘指数幂e并除以模数n后的余数。这可以由任何一个知道信息m、模数n和加密指数e的计算机迅速完成。另一方面,将这一

  • 公开密钥密码学是什么

    公开密钥密码学(Public-key cryptography)也称非对称式密码学(Asymmetric cryptography)是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;公钥用作加密,私钥则用作解密。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文,最初用来加密的公钥不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密;不同于...

  • 三种公钥密码体系(传统公开密钥体系 / 基于身份的公开密钥体系 / 基于无证书的公开密钥体系 )

    公开密钥体系 分类 基于证书的公开密钥体系 基于身份的公开密钥体系 基于无证书的公开密钥体系 基于证书的公开密钥体系 第一种方案是采用证书机制实现用户的身份和用户的钥匙之间的安全对应。证书机制一般都采用公钥基础设施(Public Key Infrastructure: PKI)技术。它综合使用了数字摘要技术、数字签名等密码技术以及一套完整的证书管理机制来提供安全服务。系统建设有公信力的认证中心(Certification Authority:CA)鉴定用户身份,然后为用户签发数字证书。数字证书安全地将用

  • 公开密钥密码体系

    公开密钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性。但这仅仅是当今密码学主题的一个方面。对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的另一方面。   公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。在公钥体制中,加密密钥不同于解...

  • 密码体制(加密算法)

    密码体制分类方法有三种: 根据密码算法所用的密钥数量一般分为两类:非对称密码体制,对称密码体制 根据对明文信息的处理方式可将对称密码体制分为分组密码(DES、AES、IDEA、RC6)和序列密码(RC4、A5、SEAL) 根据是否能进行可逆的加密变换可以分为单项函数密码体制(MD4、MD5、SHA-1)和双向变换密码体制 对称密码体制 定义 对一个提供保密服务的密码系统,他...

  • 公钥,私钥和数字签名这样最好理解

    一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但

  • java程序设计实验五答案_20175316 盛茂淞 2018-2019-2 《Java程序设计》实验五 《网络安全与编程》 实验报告...

    20175316 盛茂淞 2018-2019-2 《Java程序设计》实验五 《网络安全与编程》 实验报告一、实验报告封面课程:Java程序设计 班级:1753班 姓名:盛茂淞 学号:20175316指导教师:娄嘉鹏 实验日期:2018年5月31日实验时间:15:35 - 17:15 实验序号:五实验名称: 网络编程与安全实验目的:1、掌握Java Socket的相关内容;2、学会建立客户端与服务...

  • 下面算法中,不属于公开密钥加密算法的是()。D

    下面算法中,不属于公开密钥加密算法的是()。D A.ECC B.DSA C.RSA D.DES 常用的公钥加密算法有RSA、DSA、ElGamal和ECC。 常用的对称加密算法有DES、3DES、IDEA、AES、Blowfish、Twofish和RSA公司的RC系列算法(如RC2、RC4、RC5、RC6)等。 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对...

  • RSA DES 公钥 数字签名

    RSA:         RSA机制是一种公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。 RSA用到的公式和定理:   一、数和互为素数   任何大于1的整数a能被因式分解为如下唯一形式:a=p1p2…pl(p1,p2,…,pl为素数)   二、模运算   ①{[a(m

  • 公开密匙(public key)和专用密匙(private key)

    在上次文章的最后我们提到了公开密匙和专用密匙在HTTPS中的使用,那么他们究竟是如何工作的呢? 公开密匙顾名思义就是公开化的,他是能被任何人使用的;相反的专用密匙是私有的。 例如:如何韩梅梅(MeiMei Han)想要和李雷(Lei Lee)分享一些私密的信息,并且这些信息很私密MeiMei只想让Lei自己看到,所以她就使用Lei的公开密钥对信息进行加密,当Lei收到被公开密匙

  • 密码学---公钥密码---公钥密码体制

    公钥密码体制公钥密码体制的概念公钥密码体制的原理使用公钥密码体制加密传送消息的过程使用公钥密码体制进行消息认证的过程使用公钥密码体制的加密和认证过程公钥密码算法要求公钥密码体制的攻击1.穷搜索攻击2.根据公钥计算密钥3.可能字攻击 在公钥密码体制之前,所有的密码算法都是基于代换和置换这两个基本工具。公钥密码体制为密码学的发展提供了新的理论和技术基础:1.公钥密码算法的基本攻击不再是代换和置换,而是数学函数;2.公钥密码以非对称的形式使用两个密钥,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义。 公

  • 公钥密码体制(一)概述

    公钥密码体制基本原理

  • 应用密码学-RSA

    按照模重复平方法,计算 a的m次方modn (1)在主程序中读入数据, 输入顺序为:a n m(ps:a,m,n 都小于 1000) (2) 使用模重复平方法进行计算,得到结果 #include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace std; void LRFun_14(int x_14, int y_14, int z_14); void main() { int a,m,n; printf("请输入数字(a, m, n): \

  • [密码学]McEliece公钥密码体制

    McEliece公钥密码体制的简单介绍

  • 公钥密码体制概述

    1976年,Whitefield Diffie和Martin Hellman在论文《密码学的新方向》(New Directions in Cryptography)中提出一个设想:用户A有一对密钥:加密密钥,和解密密钥,公开,保密。若B要给A发送加密信息,他需要在公开的目录中查出A的公开(加密)密钥,用它加密消息;A收到密文后,用自己秘密保存的解密密钥解密密文,由于别人不知道,即使截获了密文,也无...

  • 3.2 公开密钥算法

    3.2.1 两把钥匙:公钥和私钥公钥和私钥是现代密码学分支非对称性加密里面的名词,对于一段需要保护的信息,通常使用公钥加密,用私钥解密,这种加密方法也称为公开密钥算法。在谍战剧里,发电报那种一般都是使用对称加密算法。这种加密方式缺点是显而易见的,如果被人知道了密钥和加密方 法,按照加密方法反着来就能解密。一直到非对称加密算法的出现,这种情况才有所改观。公钥就是可以对全世界公开的密钥,比如你和...

  • 公开密钥加密算法RSA的理论概述

    RSA加密算法的最大优点就是不需要对密钥通信进行保密,所需传输的只有公开密钥,这样就省去了一条开销很大的密钥传输信道。其保密性强,密钥管理方便,并且具有数字签名、认证和签别等多种功能,特别适合于现代保密通信的需要。大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。RSA的安全性是基于大数因子分解的困难性。目前一般认为RSA需要1024位以上的字长才有安全保障。由于RSA所采用的模幂运算耗时太多,因此它通常只能用于加密少量数据或者加密密钥。

Global site tag (gtag.js) - Google Analytics