AudioPlayer
基于原生 <audio> 的音频播放器(对齐 Semi,无第三方媒体库)。audioUrl 接受 string | string[] | AudioInfo | AudioInfo[] 四形态并归一为曲目列表;多曲显示上/下曲。工具栏含播放/暂停、快退/快进(按 skipDuration)、上/下曲、重播、进度、时间、倍速、音量;深/浅双主题(默认 dark)。
如何引入
import { AudioPlayer } from '@chenzy-design/svelte';基础用法
audioUrl 传入字符串即可播放。
封面与标题
audioUrl 传入对象,携带 title 与 cover。
示例音频
播放列表
audioUrl 传入数组,支持上一曲 / 下一曲。
曲目一
API 参考
AudioPlayer
Props
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
audioUrl | 音频地址(四形态,AudioInfo = { src; title?; cover? }),归一为曲目列表 | string | string[] | AudioInfo | AudioInfo[] | undefined |
autoPlay | 自动播放 | boolean | false |
theme | 主题(对齐 Semi 默认 dark) | 'dark' | 'light' | 'dark' |
showToolbar | 是否显示工具栏 | boolean | true |
skipDuration | 快进/快退步长(秒) | number | 10 |
rates | 倍速可选项(PlaybackRate = { label; value }) | PlaybackRate[] | [0.5x, 1.0x, 1.5x, 2.0x] |
class | 根元素类名 | string | '' |
style | 根元素内联样式 | string | '' |
Slots
| 名称 | 说明 |
|---|---|
cover | 自定义封面区,覆盖默认封面/标题渲染 |
Accessibility
| ARIA role | group |
- 工具栏各按钮为原生 <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) | 图标/进度悬浮过渡时长 |