设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

酷我音乐盒的 Gtk/Linux 实现 – v2.5 版本发布

2013-10-18 15:06| 发布者: 红黑魂| 查看: 2128| 评论: 0|来自: IMCN

摘要: 关于酷我音乐盒的 Gtk/Linux 实现:kwplayer是linux桌面下的网络音乐播放工具,它使用了kuwo.cn的音乐资源。安装debian系列的, 需要手动安装一些依赖包, 它们是:python3 – 推荐python3.3以上的版本, 不然mutagen模 ...

关于酷我音乐盒的 Gtk/Linux 实现:kwplayer是linux桌面下的网络音乐播放工具,它使用了kuwo.cn的音乐资源。

安装
debian系列的, 需要手动安装一些依赖包, 它们是:

  • python3 – 推荐python3.3以上的版本, 不然mutagen模块无法使用(用于消除mp3/ape乱码的).
  • python3-gi – gkt3的python3绑定(Fedora中叫做python3-gobject);
  • python3-cairo – cairo的python3绑定(用于实现显示特效);
  • python3-gi-cairo – 在GObject中用到的cairo的python3绑定;
  • gstreamer1.0-x – gtk的多媒体框架;
  • gstreamer1.0-libav – gstreamer的编码/解码库;
  • gstreamer1.0-plugins-base – gstreamer的基本核心包
  • gir1.2-gstreamer-1.0, gir1.2-gst-plugins-base-1.0 – 这两个是gst的gobject 绑定, 这样就可以解决ImportError: cannot import name GstVideo 之类的错误.
  • leveldb – 强大的NoSQL数据库(用于缓存数据);
  • python3-leveldb – leveldb的python3绑定(Fedora中是python3-plyvel);

安装好gstreamer后, 可能需要重启一下系统, 至少在我这里测试时需要这样.
也可以直接运行build/下面的脚本, 生成deb包, 它会自动处理依赖关系, 不需要手动 安装上面列出的那些软件包, 需要以下的操作:

  • 更新系统
  • 下载本页面右侧的zip压缩包
  • 进入kwplayer/build目录
  • 运行build.sh, 用于创建fakeroot目录, 需要普通用户权限;
  • 运行generate_deb.sh 用于创建deb包, 由于使用了dpkg命令来打包, 这个脚本需要root权限
  • 一切无误的话, 会在kwplayer/bin/目录下生成kwplayer.deb, 生成的deb包可以用dpkg命令来安装: # dpkg -i kwplayer.deb.
  • 如果不想手动打包的话, 在bin/目录里面有我打包好的kwplayer.deb, 也可以直接使用.

对于Debian Wheezy和Ubuntu 12.04, 因为软件源里面的包都比较旧, 需要对上述操作 做一些修改, 比如gstreamer1.0-libav要改为gstreamer0.1-ffmpeg, 将gstreamer的 1.0版都改为0.1版. 如果ubuntu 12.04中找不到gstreamer0.1-ffmpeg, 这说明你的软 件源中没有启用multiverse源, 可以在software-center里面进行设置. 另外, 由于 gstreamer0.1中不能直接把视频渲染到DrawingArea上, 在播放MV时视频窗口被被弹出, 这个bug我暂时不打算修复; ubuntu 12.04的gnome-icon-theme-symbolic包里面少了一 个video-x-generic-symbolic.svg这个图标, 所以工具栏上的MV按纽不能直接显示. 解决方法是把kwplayer/share/kuwo/themes/default/video-x-generic-symbolic.svg 复制到/usr/share/icons/gnome/scalable/mimetypes/目录里.

对于Fedora, 我专门安装并测试了Fedora 19 amd64, 也很简单, 需要这些操作:

更新系统. 我用的是mirrors.163.com这个更新源, 速度很好.
安装python3-cairo.
使用rpmfushion, 可以参考这篇文章:http://blog.csdn.net/sabalol/article/details/9286073
安装gstreamer1-libav
不需要安装python3-gobject或gstreamer的其它组件, 因为它们都在安装系统时自动被安装了.
安装leveldb 和 python3-plyvel.
Gentoo/Arch Linux的话, 也没什么好说的, 看一下上面的依赖包, 缺少的都给装上, 应该就能运行了. 但gentoo中稍稍注意一下软件版本的问题.

已经测试通过的发行版(版本):

  • Debian sid
  • Debian testing
  • Debian whezy
  • Ubuntu 13.10 Beta
  • Ubuntu 13.04
  • Ubuntu 12.10
  • Ubuntu 12.04
  • Gentoo
  • Fedora 19
  • Arch Linux
  • Tips & Tricks

播放歌曲时双击左上角的歌手的头像可以在播放列表中定位正在播放的这首歌.
播放列表中的歌曲可以直接拖放到其它列表, 支持键盘操作, 比如Ctrl+A全选; 选择歌曲时按下Ctrl键可多选. 按Del键可以删除选中的歌曲.
对于小屏的笔记本来说, 全屏播放MV的效果更好.
尽量不下载ape格式的歌曲, 因为这种格式的文件实在太大了.
Q&A
问: 为什么只使用mp3(192K)和ape两种格式的音乐?

答: 其它格式都不太适用, 比如wma的音质不好; 而192K的mp3对于一般用户已经足够好了; 而对于音乐发烧友来说, 320K的mp3格式的质量仍然是很差劲的, 只有ape才能满足他(她)们的要求. 举例来说, 192K的mp3大小是4.7M, 320K的mp3是7.2M, 而对应的ape格式的是31.5M左右, 这就是差距. 总之, 这两种格式足够了.

问: 为什么不能用它来打开/管理本地的音乐?

答: 没有必要. 因为Linux桌面已经有不少强大的音乐管理软件了, 像rhythmbox, audacity, amarok等, 干嘛要加入一些重复的功能?

TODO

  • 播放列表支持歌曲的拖放(已完成).
  • 加入dbus.
  • 支持键盘上的多媒体键.
  • 支持Debian stable (已支持)
  • 为Ubuntu创建PPA (已放弃, 因为它不能保证与debian等发行版的兼容性)
  • 优化歌词的显示效果
  • 将播放列表中的音乐导出到其它目录, 也可以导出到手机中(已完成)
  • 自动修复mp3的tag编码 (已完成)
  • 支持打开/管理本地的多媒体资源(已放弃)
  • 使用gettext国际化(i18n) (已完成)
  • 加入简体中文(zh_CN.po) (已完成)
  • 加入繁体中文(zh_TW.po) (已完成)
  • 全屏播放(正在修复其中的一个bug)
  • 实时的简体与繁体的转换, 对于使用繁体中文显示的朋友来说会非常方便, 因为显面中的简体中文会自动转为繁体来显示, 并且也可以使用繁体来搜索(已放弃)

 

deb包及源代码都可以在这里得到https://github.com/LiuLang/kwplayer

截图
播放列表:

playlist

电台:

radio

本文采用CC协议发布,转载请注明: 转载自IMCN

本文链接地址: 酷我音乐盒的 Gtk/Linux 实现 – v2.5 版本发布


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部