FLAC Player

创建于 2 个月前
更新于 2 个月前
在 Safari 中直接播放网页上的 FLAC 音频链接,并提供下载功能
总安装量
69
今日新增
+0
用户评分
- / 5.0 (0)
当前版本
1.0.2
脚本详情
适用网站

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        # 本说明文档