AudioPlayer

基于原生 <audio> 的音频播放器(对齐 Semi,无第三方媒体库)。audioUrl 接受 string | string[] | AudioInfo | AudioInfo[] 四形态并归一为曲目列表;多曲显示上/下曲。工具栏含播放/暂停、快退/快进(按 skipDuration)、上/下曲、重播、进度、时间、倍速、音量;深/浅双主题(默认 dark)。

设计文档

如何引入

import { AudioPlayer } from '@chenzy-design/svelte';

基础用法

audioUrl 传入字符串即可播放。

0:00 0:00

封面与标题

audioUrl 传入对象,携带 title 与 cover。

示例音频
示例音频
0:00 0:00

播放列表

audioUrl 传入数组,支持上一曲 / 下一曲。

曲目一
0:00 0:00

API 参考

AudioPlayer

Props

属性说明类型默认值
audioUrl音频地址(四形态,AudioInfo = { src; title?; cover? }),归一为曲目列表string | string[] | AudioInfo | AudioInfo[]undefined
autoPlay自动播放booleanfalse
theme主题(对齐 Semi 默认 dark)'dark' | 'light''dark'
showToolbar是否显示工具栏booleantrue
skipDuration快进/快退步长(秒)number10
rates倍速可选项(PlaybackRate = { label; value })PlaybackRate[][0.5x, 1.0x, 1.5x, 2.0x]
class根元素类名string''
style根元素内联样式string''

Slots

名称说明
cover自定义封面区,覆盖默认封面/标题渲染

Accessibility

ARIA rolegroup
  • 工具栏各按钮为原生 <button type=button>,aria-label 走 i18n(播放/暂停/上/下曲/快进/快退/重播/音量/倍速)
  • 播放/暂停按钮带 aria-pressed 反映播放态
  • 进度条为原生 range input,补 aria-valuemin/max/now + aria-valuetext(当前/总时长)纯标注
  • 首/末曲时上/下曲按钮 disabled(对齐 headless 无环绕边界)
  • 播放出错时用 role=status / aria-live=polite live region 播报错误文案
  • 图标不依赖颜色单通道,语义由 aria-label 承载

设计变量

变量默认值用法
--cd-audio-player-motion-duration var(--cd-motion-duration-fast)图标/进度悬浮过渡时长