天堂的另一角

天堂魷魚的原创技术博客。所謂兼容並包,無奇不有。

 

获取歌曲封面的Amarok脚本 - AGetCover

更新日期:2008.7.30
当前版本:v 0.1.1 (内部测试版)


为什么要制作AGetCover?Amarok自带的封面功能不好么?

Amarok仅提供了Amazon的封面搜索,而Amazon对中文的支持非常糟糕。

Amarok使用了自己特有的机制进行封面保存和映射,而没有提供将封面写入ID3 Tag的功能,这样在拷贝mp3到ipod、psp这类支持封面显示的mp3播放器时就无法显示其封面。

对于一些tag不完整的mp3,如果缺乏专辑信息,Amarok无法搜索其封面,因为Amarok的封面管理是基于专辑的。

AGetCover具备哪些特点?

AGetCover是Amarok的一个通用脚本,主要针对以上提到的Amarok的封面功能的缺点开发。其特点主要有:

支持Google的封面搜索,这样可以搜索到大多数的中文歌曲封面。

支持将封面信息写入ID3 Tag,只要将该mp3文件拷贝到任何支持封面显示的播放器或便携设备,均可正确显示其封面信息。

支持将封面信息拷贝到指定的目录,以备他用。

对于没有专辑信息或歌手信息的mp3,可以使用标题搜索。



如何使用AGetCover?

下载并解压到某个目录下,在Amarok的脚本管理器中用“安装脚本”安装,然后运行AGetCover即可。

在播放mp3歌曲时,如果该歌曲的tag中没有封面信息,脚本会自动在google上搜索其图片信息,然后将搜索到的图片下载并显示出来。可以使用“<”和“>”按钮来浏览图片。

下方的三个按钮分别为写入、另存为、配置。点击“写入”按钮可以把当前的图片信息写入mp3歌曲的tag中,点击“另存为”只把当前图片保存到指定的文件夹中。这两个动作执行完成后都会隐藏掉脚本窗口。

应注意的问题以及已知的问题

本软件目前完成度还很低,仅仅是个预览版本,还存在很多问题,仅供内部测试使用。

注意:

目前尚不支持更换封面信息的功能。如果你要更换的话,需要先把原来的封面删掉(用Amarok打开歌曲信息,在“摘要”标签页里取消封面),然后再利用AGetCover来写入新封面。

由于Amarok本身的机制限制,如果你更改了Amarok收藏中的歌曲封面信息,在Amarok中无法实时看到改动,需要更新收藏。

AGetCover仅支持MP3文件。

由于配置功能还没有完成,目前使用保存功能的话,图片会被保存到~/.kde/share/apps/amarok/scripts-data/ 目录中。

当前还不支持中文。完整的国际化支持会在下一版本加入。

下一版本中将支持在写入tag的同时把图片保存到指定目录。

已知的BUG:

如果歌曲没有歌手信息或标题信息,或这些信息无法识别,AGetCover会产生异常并无法继续工作,只能手动终止。

风险:

一旦AGetCover出错或停止响应,可以通过Amarok的脚本管理器把它强制停止。

由于是把封面信息直接写入MP3文件,因此AGetCover有可能造成文件损坏(虽然可能性很小),由此造成的任何风险由你自己承担。


AGetCover采用PyQt4编写,遵循GPL V2协议发布。源代码及版本历史变更说明都在压缩包中。欢迎测试和反馈。

下载

下载链接(v0.1.1)


posted on 2008-01-22 21:40 Addone 阅读(2175) 评论(9)  编辑 收藏 引用 所属分类: Linux开源项目软件介绍

评论

# re: 获取歌曲封面的Amarok脚本 - AGetCover 2008-01-31 13:25 三翻领

鱿鱼兄,装了脚本,退出了,貌似依赖mutagen
推建个python模块,eyeD3,支持id3v2和2,而且体积小,原生python,脚本里加个副本就行了,免得产生额外依赖。
个人见解啊,还是遵循amarok的封面机制比较好点。
我这里有些封面删不掉...........  回复  更多评论   

# re: 获取歌曲封面的Amarok脚本 - AGetCover 2008-02-05 12:55 Addone

没错,确实依赖mutagen,不然写入封面的时候会出错,漏掉这个了,多谢三翻兄!
eyeD3我以前用过,虽然也很易用,但是有很多问题,例如当时的版本写入v1的tag的备注信息不正确等等,稳定性比不上mutagen。

amarok的封面机制还是不错的,但也存在其问题,例如对中文歌曲不支持。这个脚本算是对其的一个补充吧。

最后,敬请期待下个版本!  回复  更多评论   

# re: 获取歌曲封面的Amarok脚本 - AGetCover 2008-02-24 18:41 b1gm0use

为什么一定要写入MP3文件?这样一个专辑的歌曲都要一个一个的写入了?
我觉得放入歌曲所在的目录,重命名为cover.jpg更好一些,cover.jpg是封面,back.jpg是背面。  回复  更多评论   

# re: 获取歌曲封面的Amarok脚本 - AGetCover 2008-02-27 17:06 三翻领

对了鱿鱼兄,有个问题一直困扰我。
我想给lrcShow-II加上“将歌词写入tag”的功能,主要还是想看齐千千静听的功能。但是我发现如果一旦用千千的这个功能,一到amarok下,tag就乱码。研究了一下,千千好像才用了apetag,其他了解不多。而我真正的目的,是想能够写入tag后能够让主流的mp3 box识别并正确播放。但是缺少经验,而且基本上对此道不甚了解。能提供些信息吗?  回复  更多评论   

# re: 获取歌曲封面的Amarok脚本 - AGetCover 2008-02-29 12:08 Addone

@b1gm0use
每个方式都有其利弊。写入MP3文件的优点在于,这一方法遵循了ID3V2的标准,因此可以被大多数MP3播放器识别。而其他方法则很难保证通用性。ID3V2中对封面和封底都作了规定。  回复  更多评论   

# re: 获取歌曲封面的Amarok脚本 - AGetCover 2008-02-29 12:14 Addone

@三翻领
歌词tag乱码的原因应该是因为没有按照规范写入吧。在ID3V2.3中,歌词又分为同步歌词和非同步歌词,ID分别为SYLT和USLT。具体参数我用邮件发给你吧。  回复  更多评论   

# re: 获取歌曲封面的Amarok脚本 - AGetCover 2008-03-11 13:07 daf3707

我是一个普通的用户,用你们致敬,并支持你们,还有3翻领,我就用了他的歌词脚本,一并感谢,支持你们!  回复  更多评论   

# re: 获取歌曲封面的Amarok脚本 - AGetCover 2008-07-30 23:46 Addone

实在是不好意思了,拖了这么长时间才出了这么一个见不得人的修正版……只能说,我会继续努力的……

我尝试在后面的版本中,同时支持amarok的封面机制和ID3本身的封面机制。  回复  更多评论   

# re: 获取歌曲封面的Amarok脚本 - AGetCover 2008-09-01 23:57 三翻领

@Addone
lrcShow-II已经可以支持内嵌歌词了,而且支持的标签可能是类似软件中最多的,达到了5种。
对id3v2的操作,我采用了pytagg的模块,非常小,使用也简单,建议尝试。
还有鱿鱼兄,kde-apps上有一个类似应用软件,同样采用pyqt4撰写,或许可以借鉴一下,不过不确定该软件是否具有内嵌功能,但是GUI的制作非常漂亮,搜索功能也非常出色。
http://www.kde-apps.org/content/show.php/Cover+Fetcher+(for+AmaroK)?content=83909  回复  更多评论   

只有注册用户登录后才能发表评论。

导航

统计

公告


Addone,又名:天堂鱿鱼。
这里是我的技术博客。其他文章
作为“杂感”分类存档。
我的新思想主要发往新站:
幻想园
幻想园

欢迎光临

Linux注册用户

feedsky
抓虾
google reader
bloglines

联系方式




My status

常用链接

留言簿(11)

随笔分类(99)

随笔档案(69)

相册

友情链接

推荐站点

搜索

积分与排名

最新评论

阅读排行榜