Skip to content

moyx782/media_remote

Repository files navigation

Media Remote(手机控制电脑媒体播放)

一个全平台方案:电脑端跑 Python 服务;手机端用浏览器/PWA 遥控(iOS/Android 通用)。

功能

  • 二维码配对:电脑启动时在终端打印二维码,同时生成 pairing_qr.png
  • 播放控制:播放/暂停、上一首/下一首、音量+/音量-、静音。
  • 显示当前曲名/播放状态:
    • Windows:winsdk / 系统媒体会话(GSMTC)
    • macOS:AppleScript 读取 Music/Spotify
    • Linux:playerctl metadata/status/position
  • 进度条拖动:
    • macOS / Linux:支持 seek(Music/Spotify/playerctl)
    • Windows:尝试用系统媒体会话 seek(若播放器支持)
  • 权限与安全:PIN 验证 + 限制局域网网段 + 可选 HTTPS(自备证书)

安装与运行

  1. 电脑端安装依赖(Python 3.9+ 推荐)
pip install -r requirements.txt
  1. Linux 需要系统安装 playerctl(以及 pactl 用于静音)
  • Debian/Ubuntu: sudo apt install playerctl pulseaudio-utils
  • Arch: sudo pacman -S playerctl pulseaudio
  • Fedora: sudo dnf install playerctl pulseaudio-utils
  1. 首次初始化(推荐)
python3 pc_server.py --init-only

初始化会创建/更新:

  • .token
  • .config.json(含 PIN、允许网段)
  • pairing_qr.png
  1. 启动
python3 pc_server.py

启动后会输出:

  • 电脑端监听地址与端口(默认 8765)
  • PIN(首次会随机生成,并写入 .config.json
  • 二维码(手机扫码即开)
  • 配对页地址(在电脑浏览器打开查看二维码):/pair

手机扫二维码后,网页会提示你输入 PIN;之后会记住配对信息。可“添加到主屏幕”作为 PWA 使用。

常用参数

python3 pc_server.py --port 8765 --pin 1234
python3 pc_server.py --allow 192.168.1.0/24 --allow 10.0.0.0/8
python3 pc_server.py --ssl-cert cert.pem --ssl-key key.pem

Windows 打包 EXE

在 Windows 终端进入项目目录后执行:

build_windows.bat

生成文件:

  • dist\MediaRemote.exe

运行:

dist\MediaRemote.exe

说明:

  • exe 会自动加载内置 web/ 静态资源。
  • .token.config.jsonpairing_qr.png 会写在 exe 所在目录。

文件说明

  • pc_server.py:服务端入口(FastAPI + WebSocket)
  • media_control/:不同系统的媒体控制与状态读取
  • web/:手机端 PWA 页面

免责声明

  • Windows 的“当前曲目/进度/seek”依赖播放器是否接入系统媒体会话(Chrome/Edge、Spotify、部分播放器通常支持)。
  • macOS 脚本默认优先 Music,否则尝试 Spotify。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors