基于 Python 的开源音乐播放器 FeelUOwn 安装部署和使用指南FeelUOwn 是一款基于 Python 开发的开源音乐播放器,支持主流音乐播放功能,能在Windows、Mac、Linux等系统上运行,通过插件支持全网的各种免费音乐资源库(比如 YouTube Music),自带 AI 电台和自然语言转歌单。
FeelUOwn 能一键安装在 Arch Linux、Windows、macOS 等系统上,提供桌面歌词、资源智能替换、多音质选择、nowplaying 协议等功能,集成 AI 电台、自然语言转歌单等功能,提升音乐发现体验,支持基于 TCP 的交互控制协议、文本歌单分享同步,基于 Python 的配置文件 .fuorc。
安装 FeelUOwn 主要分为两步:安装 libmpv 和安装 FeelUOwn 和依赖的 Python 包。
1、安装 libmpv:通常可通过系统包管理器安装,如 Debian Linux 使用 apt-get install libmpv1,macOS 使用 brew install mpv
2、安装 Python 包管理工具:如 pipx,Debian 系可通过 apt-get install pipx 安装
3、安装 FeelUOwn:使用 pipx 安装并指定所需功能模块
# Linux 用户
pipx install feeluown[battery,ai,cookies,webengine,qt]-v
# macOS 用户(建议使用 Python 3.10/3.11)
pipx install feeluown[battery,ai,cookies,webengine,qt,macos] --python `which python3.11`-v
# Windows 用户
pipx install feeluown[battery,ai,cookies,webengine,qt,win32] --python `which python3.11`-v
yay -S feeluown # 安装稳定版,最新版使用 feeluown-git
yay -S feeluown-netease # 按需安装扩展
yay -S feeluown-ytmusic
yay -S feeluown-bilibili
brew tap feeluown/feeluown
brew install feeluown --with-battery
feeluown genicon # 在桌面生成图标
1、从 https://github.com/feeluown/FeelUOwn/releases 下载预打包压缩包
2、手动安装步骤:
• 安装 Python 3(勿从应用商店安装)
• 下载 mpv-1.dll 并放入 C:\Windows\System32 目录
• 在 cmd 中运行 pip3 install PyQt5 -i https://pypi.douban.com/simple
• 运行 pip3 install feeluown[battery,win32]
• 运行 python -m feeluown genicon 生成桌面图标
启动 FeelUOwn 有多种方式:
• 直接双击桌面图标,启动 GUI/Daemon 混合模式
• 在命令行中运行 feeluown,同样为混合模式
• 运行 feeluown -nw,以 Daemon 模式启动
Daemon 模式适合命令行操作,以下是基本命令:
feeluown -nw # 以 Daemon 模式启动
fuo status # 查看播放器状态
fuo search 周杰伦 # 搜索歌曲
fuo play fuo://netease/songs/470302665 # 播放指定歌曲
# 若熟悉 NetCat 工具
nc localhost 23333 # 连接到播放器
status # 查看状态
fuo play fuo://netease/songs/470302665 # 播放音乐
FeelUOwn 的配置文件 .fuorc 位于 ~/.fuorc,是一个 Python 脚本,类似 Vim 的 .vimrc 或 Emacs 的 init.el。启动时会加载该文件,允许用户通过 Python 语法完全控制播放器的行为,实现配置选项修改和功能定制。
以下是一个简单的 .fuorc 示例,展示如何配置主题、收藏目录和添加歌曲切换通知:
import os
# 自定义配置
config.THEME = 'dark'
config.COLLECTIONS_DIR = '~/Dropbox/public/music'
config.AUDIO_SELECT_POLICY = '>>>'
# 切换歌曲时发送系统通知
def notify_song_changed(song):
if song is not None:
title = song.title_display
artists_name = song.artists_name_display
song_str = f'{title}-{artists_name}'
os.system(f'notify-send "{song_str}"')
when('app.playlist.song_changed', notify_song_changed)
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| RPC_PORT | int | 23333 | RPC 服务端口 |
| PUBSUB_PORT | int | 23334 | PUBSUB 服务端口 |
| ALLOW_LAN_CONNECT | bool | False | 是否允许局域网连接 RPC 服务 |
| THEME | str | auto | 主题模式(auto/light/dark) |
| COLLECTIONS_DIR | str | '' | 本地收藏所在目录 |
| LOG_TO_FILE | bool | True | 是否将日志输出到文件 |
| AUDIO_SELECT_POLICY | str | hq | 音频质量选择策略 |
| VIDEO_SELECT_POLICY | str | hd | 视频质量选择策略 |
| NOTIFY_ON_TRACK_CHANGED | bool | False | 切换歌曲时显示桌面通知 |
| NOTIFY_DURATION | int | 3000 | 桌面通知保留时长(ms) |
| PROVIDERS_STANDBY | list | None | 候选歌曲提供方 |
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| ENABLE_WEB_SERVER | bool | False | 开启 WEB 服务 |
| WEB_PORT | int | 23332 | WEB 服务端口 |
| ENABLE_NEW_HOMEPAGE | bool | False | 开启新版主页 |
| ENABLE_MV_AS_STANDBY | bool | True | 使用 MV 作为歌曲资源 |
| PLAYBACK_CROSSFADE | bool | False | 开启淡入淡出播放 |
| PLAYBACK_CROSSFADE_DURATION | int | 500 | 淡入淡出持续时间 |
使用 AI 助手需完成两步:
1、安装 OpenAI Python 包:
pipx inject feeluown openai
2、配置 API Key 和相关参数(以 DeepSeek 为例):
config.OPENAI_API_BASEURL = 'https://api.deepseek.com'
config.OPENAI_MODEL = 'deepseek-chat'
config.OPENAI_API_KEY = '---你的 API KEY---'
通过 add_hook(别名 when)函数可监听程序事件,实现功能定制,常见事件包括:
• app.player.metadata_changed:歌曲元信息变化时(通常在歌曲切换时)
• app.initialized:应用初始化完毕(未启动)
• app.started:应用已启动
• app.ui.songs_table.about_to_show_menu:右键显示歌曲菜单时
通过编写 Python 函数并绑定事件,可实现自定义功能,如通知提醒、界面调整等。
AI学术写作助手:学术论文润色和语言优化工具
Gemini对话与提示管理扩展工具 Gemini Voyager
AI驱动的股票研究平台 Multi-Agent Investment Research Platform
AI驱动的加密货币自动化交易系统 open-nof1.ai
基于Next.js、AI SDK和Workflow DevKit构建的线索鉴定与人工审核代理工具 Lead Agent
XiaomiMiMo/MiMo-Audio-7B-Instruct模型微调工具MiMo-Audio-Training
基于DeepSeek-OCR模型的文档解析工具 DeepSeek-OCR Studio
AI-Trader:让多个AI模型在纳斯达克100股票市场中进行完全自主的零人工干预的竞争性交易
辅助软件开发任务和终端操作的命令行代理工具 Kimi CLI
AI 编码代理工具 deer-code,帮助开发者学习和构建智能的编码助手