音乐模式:把网页播放器变成音乐 App

用视频播放器放歌,观众看到的是一帧静止的画面加一条进度条——体验停在「能响」。ZWPlayer 的音乐模式(mode: 'music')把界面整体切换为音乐播放器形态:旋转黑胶、滚动歌词、跳动频谱,一个配置项完成从「能响」到「好听好看」的跃迁。

音乐模式 图 1:音乐模式——旋转黑胶、滚动 LRC 歌词与频谱可视化

一个配置项的切换

new ZWPlayer({
  playerElm: 'player',
  url: 'song.mp3',
  mode: 'music',
  music: {
    theme: 'vintage',      // 主题(vintage 复古 / classic 经典 / auto 跟随)
    vinyl: true,           // 黑胶唱片旋转
    panel: 'full',         // 面板布局(full / bar)
    visualizer: 'classic', // 频谱形态
  },
  lyrics: LRC,             // LRC 文本数组或 URL
});

mode: 'auto' 则由播放器按媒体类型自动决定——音频文件进音乐模式,视频回标准模式,混合站点不用逐条配置。

LRC 歌词:逐行与逐字

lyrics 接受 LRC URL 或文本数组。渲染支持两种粒度:

  • 逐行:整行歌词按行时间戳滚动高亮——绝大多数 LRC 文件的形态;
  • 逐字:带字级时间戳(<mm:ss.xx> 内嵌标记)的 LRC 逐字点亮——卡拉 OK 式跟唱体验。

当前行自动居中、已唱/未唱颜色区分,点击任意行跳播到那句——「歌词即进度条」。

频谱可视化 图 2:频谱随音乐起伏,歌词持续滚动

频谱可视化

音乐模式内置多种频谱形态(classic 柱状、mountain 山脉、circular 环形等),由 Web Audio 驱动实时起伏。给纯听感的音频内容补上「视觉层」,对音乐站、播客、白噪音工具都是体验升级。

谁该用它

  • 播客/电台站:节目页从「视频壳子放音频」变成正经电台界面;
  • 音乐教学:乐句循环(配合AB 循环)+ 逐字歌词/谱面展示;
  • 白噪音/冥想 App:可视化即氛围;
  • 音乐人作品页:黑胶 + 歌词 + 频谱,比嵌第三方平台更有「作品感」。

音频格式支持范围(mp3/m4a/flac/opus/wav 等)的兼容性细节见《浏览器音频格式支持史》。

实用细节

  • 队列:多曲场景配 music.tracks 播放队列,上一首/下一首/循环模式齐备;
  • 画中画:音乐模式支持 PiP,边听边逛别的页面;
  • 降级:不配置 music 参数也有合理默认——黑胶缺省封面、基础频谱开箱即用;
  • 视频也能进:音乐模式播放视频文件时自动截帧做封面、隐藏画面区——「MV 当歌听」。

相关文章