`
galo
  • 浏览: 36654 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

迷你音乐下载器V1.0拍砖版

阅读更多

最近买了一个mp3 iriver e30  一般般啦.
苦于公司限制了p2p下载,一首一首的另存会累死,所以写了个小软件.
可以实现输入歌名或者歌名列表自动下载歌曲.
发出来征集意见(意见建议什么都可以...)

主要想获取以下信息:
1.各种音乐文件内容解析插件(获取歌曲名、演唱者、专辑图片、大小等等)
2.暂停下载与继续下载相关的操作(我使用线程挂起和唤醒线程一直失败,所以屏蔽了这部分)
3.性能的问题.
4.没有java虚拟机无法运行的问题.
暂时就这么多...希望大家给力。

争对2.暂停下载与继续下载的解决方案:
之前总想着让一个运行中的线程暂停,然后继续下载再启动,自然想到了线程的wait,notify,,其实思想进入了误区.
暂停下载与继续下载其实可以理解为另一种的开始下载与停止下载。
暂停下载命令停止当前所执行的任务,记录任务信息,放入内存,
继续下载命令获取暂停下载的任务信息执行下载,抛弃已下载的数据(或者完全的重新下载),进而给人感觉是暂停与继续.
暂停只是一种说法哈,功能实现完全是另外一回事...
感叹:其实很多现实与你想象中的真实是完全不一样的.

见附件.

界面很粗糙,抛砖引玉吧...

  • 大小: 50.4 KB
分享到:
评论
23 楼 galo 2011-04-18  
kakaluyi 写道
PS:楼主如果抱着不分享的精神上论坛,估计没人会投良好或者精华,毕竟这边是技术论坛,下一个音乐下载软件到天极网就好了。
希望楼主把一些值得分享的代码贴出来和大家讨论一下。


近期会开源,让有兴趣的朋友都参与开发.
到时候再交流。
22 楼 galo 2011-04-18  
kakaluyi 写道
PS:楼主如果抱着不分享的精神上论坛,估计没人会投良好或者精华,毕竟这边是技术论坛,下一个音乐下载软件到天极网就好了。
希望楼主把一些值得分享的代码贴出来和大家讨论一下。




其实这个东西发出来大家应该猜到怎么做了,就是去网上爬资源而已,
目前版本太简洁了,好多代码都是为了快快实现功能做的,比较乱,
实在拿不出手...这个东西其实就idea能说事,没有什么技术性的东西需要讨论的。
估计能满足我下歌就行了,应该不会继续做成什么样的作品(虽然还有想法),
最近电脑丢了,业余时间也没办法继续开发... 
21 楼 kakaluyi 2011-04-18  
PS:楼主如果抱着不分享的精神上论坛,估计没人会投良好或者精华,毕竟这边是技术论坛,下一个音乐下载软件到天极网就好了。
希望楼主把一些值得分享的代码贴出来和大家讨论一下。
20 楼 kakaluyi 2011-04-18  
galo 写道
kakaluyi 写道
1 我的英文版xp字体全部乱码,用UTF-8编码不是更好
2 音乐列表能不能做一个类似qq音乐查找歌词那样的dialog,一个text填写歌名,一个text填写音乐人,然后把可用的链接都搜索出来,自己添加列表文件是对用户极其不友好的做法。
3 下载时单线程还是多线程的,既然你做了续传功能,何不把他更进一步做成一个通用的下载工具。放到网上,估计还是会有人用的,flashget,迅雷刚开始不也是这样一个小东东吗,做下载这种不需要大运算的东西,java肯定也有用武之地.
4 P2p用户 共享下载。
5 等你的基本框架完成,可以做一个开源出来,做的好的话别人还是可以用Linux,Mac用到你的作品的。到时候有兴趣搞开源,可以把开源地址发给我,我对多线程,流,有一定研究,相信到时候可以帮你完善完善性能。



你提的第2点:如果做成你说的这样,还不如直接用qq音乐;如果只要链接,直接用百度、搜搜、...
第3点:下载是多线程的,目前是初级的,所以有默认的线程数.目前这个工具通用性不是很大,因为需要java运行环境,
虽然可以弄一个精简的jre(尝试过,还是有点麻烦,目前不想搞.)
第4点:可以的话麻烦你详细说一下.
第5点:会尝试。

第2点,其实我建议就是提供两个text field,让用户输入,自动生成列表文件,而不是整成现在这样的要用户手动输入列表。
第4点,如果你会自己写socket 广播,多通道通信来实现p2p当然最好,可以锻炼自己这方面编程能力,如果不想写具体可以参考JXTA,就是P2P来实现client端的数据分享。我不知道你现在程序的实现,我猜你是从internet 上抓取音乐资源,一般大的下载应用做成p2p可以节约很多服务器带宽。(不过你本来假如就是从internet 抓取别人的资源那就不用p2p了,但会有很多版权的限制)
19 楼 galo 2011-04-18  
kakaluyi 写道
1 我的英文版xp字体全部乱码,用UTF-8编码不是更好
2 音乐列表能不能做一个类似qq音乐查找歌词那样的dialog,一个text填写歌名,一个text填写音乐人,然后把可用的链接都搜索出来,自己添加列表文件是对用户极其不友好的做法。
3 下载时单线程还是多线程的,既然你做了续传功能,何不把他更进一步做成一个通用的下载工具。放到网上,估计还是会有人用的,flashget,迅雷刚开始不也是这样一个小东东吗,做下载这种不需要大运算的东西,java肯定也有用武之地.
4 P2p用户 共享下载。
5 等你的基本框架完成,可以做一个开源出来,做的好的话别人还是可以用Linux,Mac用到你的作品的。到时候有兴趣搞开源,可以把开源地址发给我,我对多线程,流,有一定研究,相信到时候可以帮你完善完善性能。



你提的第2点:如果做成你说的这样,还不如直接用qq音乐;如果只要链接,直接用百度、搜搜、...
第3点:下载是多线程的,目前是初级的,所以有默认的线程数.目前这个工具通用性不是很大,因为需要java运行环境,
虽然可以弄一个精简的jre(尝试过,还是有点麻烦,目前不想搞.)
第4点:可以的话麻烦你详细说一下.
第5点:会尝试。
18 楼 kakaluyi 2011-04-18  
1 我的英文版xp字体全部乱码,用UTF-8编码不是更好
2 音乐列表能不能做一个类似qq音乐查找歌词那样的dialog,一个text填写歌名,一个text填写音乐人,然后把可用的链接都搜索出来,自己添加列表文件是对用户极其不友好的做法。
3 下载时单线程还是多线程的,既然你做了续传功能,何不把他更进一步做成一个通用的下载工具。放到网上,估计还是会有人用的,flashget,迅雷刚开始不也是这样一个小东东吗,做下载这种不需要大运算的东西,java肯定也有用武之地.
4 P2p用户 共享下载。
5 等你的基本框架完成,可以做一个开源出来,做的好的话别人还是可以用Linux,Mac用到你的作品的。到时候有兴趣搞开源,可以把开源地址发给我,我对多线程,流,有一定研究,相信到时候可以帮你完善完善性能。
17 楼 cao_8651 2011-04-18  
先学习一下,LZ辛苦了
16 楼 satikey 2011-04-17  
这个,我觉得java 做UI 还有点 欠缺,不过我很佩服你的付出。。加油。
15 楼 1927105 2011-04-17  
这是lz的beta版吧
14 楼 galo 2011-04-16  
Tank03 写道
楼主的话很犀利呀~~呵呵,不过作品可以啊,不服,你做个试试看.


作品目前很一般,拿出来完全是抛砖引玉,
只是一个idea而已.
13 楼 galo 2011-04-16  
Dark-Mraz 写道
galo 写道
Dark-Mraz 写道
galo 写道


2.暂停下载与继续下载相关的操作(我使用线程挂起和唤醒线程一直失败,所以屏蔽了这部分)


使用临时文件(以歌曲相关信息做算法确保唯一)保存,每次下载检查临时文件,存在即获取字节大小
作为网络流保存的起始位置


一个下载任务在进行中,暂停下载之后怎么又能把下载数据写到一个临时文件?
我感觉这里必须让下载的线程停下来,当继续下载的时候要能够唤醒..

接收远程流至少有个buffer,暂停时flush,包括你有可能在下载过程中退出软件,下次打开软件你如何能够“唤醒”线程呢? 但是要做的一点就是不要忘记验证文件完整性


我在想暂停任务其实也是停止任务,只不过暂停任务要多做一些操作,记录资源地址,记录下载的大小等暂停时的相关信息,
如果再继续下载,其实是从新下载而已,只不过从上一次下载的地方下载上一次没有下载的数据放到老地方而已.

12 楼 lzj0470 2011-04-16  
要淡定~~
11 楼 Tank03 2011-04-16  
楼主的话很犀利呀~~呵呵,不过作品可以啊,不服,你做个试试看.
10 楼 Dark-Mraz 2011-04-16  
galo 写道
Dark-Mraz 写道
galo 写道


2.暂停下载与继续下载相关的操作(我使用线程挂起和唤醒线程一直失败,所以屏蔽了这部分)


使用临时文件(以歌曲相关信息做算法确保唯一)保存,每次下载检查临时文件,存在即获取字节大小
作为网络流保存的起始位置


一个下载任务在进行中,暂停下载之后怎么又能把下载数据写到一个临时文件?
我感觉这里必须让下载的线程停下来,当继续下载的时候要能够唤醒..

接收远程流至少有个buffer,暂停时flush,包括你有可能在下载过程中退出软件,下次打开软件你如何能够“唤醒”线程呢? 但是要做的一点就是不要忘记验证文件完整性
9 楼 galo 2011-04-16  
Dark-Mraz 写道
galo 写道


2.暂停下载与继续下载相关的操作(我使用线程挂起和唤醒线程一直失败,所以屏蔽了这部分)


使用临时文件(以歌曲相关信息做算法确保唯一)保存,每次下载检查临时文件,存在即获取字节大小
作为网络流保存的起始位置


一个下载任务在进行中,暂停下载之后怎么又能把下载数据写到一个临时文件?
我感觉这里必须让下载的线程停下来,当继续下载的时候要能够唤醒..
8 楼 hwx521 2011-04-15  
galo 写道
cannysqurrel 写道
太垃圾了  添加了一个音乐MP3文件后就一直打印一堆乱七八糟的东西  跟病毒一样 关都关不掉  还得杀进程


注意素质!!!
不会使用看说明。。。
我叫你加载歌曲列表文件,没叫你添加mp3文件!
文件夹里有示例歌曲列表文件。
程序关不掉你没看见在托盘?!右键退出你不知道?!


给你刀子用,你不削苹果,却拿来捅自己,要死了跑来怪我?!
搞笑。



顶LZ,后一句很给力。
7 楼 Dark-Mraz 2011-04-15  
galo 写道


2.暂停下载与继续下载相关的操作(我使用线程挂起和唤醒线程一直失败,所以屏蔽了这部分)


使用临时文件(以歌曲相关信息做算法确保唯一)保存,每次下载检查临时文件,存在即获取字节大小
作为网络流保存的起始位置
6 楼 liuningbo 2011-04-15  
cannysqurrel 写道
太垃圾了  添加了一个音乐MP3文件后就一直打印一堆乱七八糟的东西  跟病毒一样 关都关不掉  还得杀进程

lz发了就值得表扬,不管做的怎么样,不好的可以提意见去修改嘛,好的鼓励,程序都是这样完善的吧,不用这样说话吧!乖啊~~~~~
5 楼 galo 2011-04-15  
cannysqurrel 写道
太垃圾了  添加了一个音乐MP3文件后就一直打印一堆乱七八糟的东西  跟病毒一样 关都关不掉  还得杀进程


注意素质!!!
不会使用看说明。。。
我叫你加载歌曲列表文件,没叫你添加mp3文件!
文件夹里有示例歌曲列表文件。
程序关不掉你没看见在托盘?!右键退出你不知道?!


给你刀子用,你不削苹果,却拿来捅自己,要死了跑来怪我?!
搞笑。
4 楼 cannysqurrel 2011-04-15  
太垃圾了  添加了一个音乐MP3文件后就一直打印一堆乱七八糟的东西  跟病毒一样 关都关不掉  还得杀进程

相关推荐

Global site tag (gtag.js) - Google Analytics