https://github.com/qiuxiang/pydoubanfm
Python 实现的豆瓣FM客户端
https://github.com/qiuxiang/pydoubanfm
Last synced: 3 months ago
JSON representation
Python 实现的豆瓣FM客户端
- Host: GitHub
- URL: https://github.com/qiuxiang/pydoubanfm
- Owner: qiuxiang
- License: mit
- Archived: true
- Created: 2013-01-27T14:10:24.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2015-03-07T09:41:14.000Z (almost 10 years ago)
- Last Synced: 2024-08-04T11:03:10.265Z (7 months ago)
- Language: Python
- Homepage:
- Size: 823 KB
- Stars: 37
- Watchers: 7
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pydoubanfm
python 实现的豆瓣电台播放器## 目的
尽管官方豆瓣FM没有开发 Linux 客户端,却不乏第三方的豆瓣FM客户端。
如 [zonyitoo](https://github.com/zonyitoo) 的 [doubanfm-qt](https://github.com/zonyitoo/doubanfm-qt)
(感谢 zonyitoo 整理的文档)。那么我为什么还要重复造轮呢?- 我需要一个能完全模拟豆瓣FM行为,能与 linux 桌面整合,简单的豆瓣FM客户端
- 出于学习的目的,我想自己能亲自设计并实现一个豆瓣FM客户端## 特性
- 集成通知中心,系统托盘,Launcher
- 完全模拟豆瓣FM行为
- 支持下载
- 支持登录
- 支持频道选择
- 支持码率设置(暂不支持实时生效,设置后从下一首歌开始生效)
- 多终端支持,提供 Gtk、命令行客户端## 依赖
- python-requests # http 请求库
- python-eyed3 # mp3 标签库
- python-twisted # tcp server
- python-gst-1.0 # 播放模块
- python-colorama # 终端彩色 print
- imagemagick # 图片转换 convert作者常用的操作系统是 Ubuntu 最新版,当然,其他 Linux 发行版也基本可以保证支持(主要是解决依赖)。
至于 OS X,原则上是可以支持的,关键是 pygtk3 和 gst1.0 的安装。Windows 同理,但依赖的解决更为困难。
以 Ubuntu 为例,运行以下命令:```sh
$ sudo apt-get install python-requests python-eyed3 python-twisted python-gst-1.0 python-colorama imagemagick
```## 运行
在项目目录下运行 `install.sh` 会创建启动项,这样,你就可以在所有程序里启动豆瓣FM。
你也可以直接从命令行启动,运行 `./doubanfm/gtk.py` 或 `python -m doubanfm.gtk`## 截图
`install.sh` 会生成启动菜单项,Ubuntu Unity 桌面下可以直接通过右键菜单进行控制
提供面板指示器

提供桌面通知

如果你是一个 geek,或许会喜欢命令行

我使用 C/S 模式隔离了播放服务和控制客户端,这使得多个不同的终端可以共存,甚至不使用客户端也是可以的

不管在哪一端进行控制,所有的客户端都会得到反馈

下载的歌曲会写入完整的 mp3 标签
