描述
版本3
评分0
权限说明
FLAC Player — Safari 油猴脚本
在 Safari 中直接播放网页上的 FLAC 音频链接,无需下载后再打开。
效果
- 检测到页面上的 FLAC 链接后,链接旁出现
▶标记 - 点击链接弹出内联播放器,直接播放,不跳转、不下载
- 播放器提供进度条、音量、下载按钮
安装步骤
1. 安装 Tampermonkey
在 App Store 搜索 Tampermonkey 安装(macOS / iOS / iPadOS 均有)。
安装后在 Safari 偏好设置 → 扩展 中启用 Tampermonkey。
2. 安装脚本
打开 Tampermonkey 面板 → 新建脚本,将 flac-player.user.js 的全部内容粘贴进去,保存。
或者,如果你有本地 HTTP 服务,直接访问脚本文件 URL(.user.js 后缀),Tampermonkey 会自动弹出安装提示。
使用方式
访问任何包含 FLAC 下载链接的音乐网站,FLAC 链接会自动被标记(链接文字后出现绿色 ▶)。
点击该链接即弹出播放器:
┌─────────────────────────────────────────┐
│ 🎵 song_title.flac ✕ │
│ FLAC · 无损音质 │
│ │
│ ────────────────────────────────── │
│ 0:32 4:21 │
│ │
│ ⏸ 🔊 ──────────────────── ↓ │
└─────────────────────────────────────────┘
键盘快捷键
| 按键 | 功能 |
|---|---|
空格 |
播放 / 暂停 |
← |
后退 10 秒 |
→ |
前进 10 秒 |
Esc |
关闭播放器 |
点击播放器外部区域也可关闭。
下载功能
点击播放器右下角 ↓ 按钮:
- 优先尝试通过 Fetch 下载(触发浏览器「存储」对话框)
- 若目标站不支持跨域请求(CORS 受限),回退为直接打开链接
技术说明
为什么不用 WASM 解码器?
Safari 的 <audio> 元素原生支持 FLAC(Safari 11+,AVFoundation 驱动),脚本直接将 FLAC URL 传给 <audio> 即可播放,无需 JavaScript 解码,性能更好、兼容性更强。
检测逻辑
脚本匹配 href 路径中以 .flac 结尾的 <a> 标签,并通过 MutationObserver 监听动态加载的链接(SPA 网站)。
不支持的情况
- 链接 URL 没有
.flac后缀(如/download?id=123形式的下载接口) - 直接在地址栏输入 FLAC URL(这需要 Safari Extension,油猴脚本无法介入)
已测试站点
| 站点 | 状态 | 备注 |
|---|---|---|
| 静态文件服务器 | ✅ | 完全支持 |
| Bandcamp | ✅ | 链接有 .flac 后缀 |
| 其他站点 | 视链接格式而定 | — |
文件
scripts/
├── flac-player.user.js # 油猴脚本主文件
└── flac-player.md # 本说明文档