0.0.21 • Published 10 months ago

yo-audio-player v0.0.21

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

audio-player

可组合控制按钮 音乐播放器

引用

// 单组件引用
import { AudioPlayer } from 'yo-audio-player'
import 'yo-audio-player/lib/style.css'

// main.js 全局引入
import AudioPlayer from 'yo-audio-player'
import 'yo-audio-player/lib/style.css'
app.use(AudioPlayer)

使用示例

pkYBt8x.md.png

<template>
  <AudioPlayer
    :controls="['play', 'timer', 'progress','volume', 'speed', 'download', 'slot']"
    :src="src[index]"
    @download="handleDownload"
    ref="playerRef"
  >
    <template #slot="{ play, playing }">
      <button @click="play">slot 按钮</button>
    </template>
  </AudioPlayer>
  <br>
  <br>
  <button @click="index = 0">音乐1</button>
  <button @click="index = 1">音乐2</button>
  <button @click="handleTest(true)">播放</button>
  <button @click="handleTest(false)">暂停</button>
  <button @click="handleSetSpeed()">设置3x速度</button>
  <button @click="handleSetVolume()">设置音量90%</button>
</template>
<script setup lang="ts">
  import { ref } from 'vue'
  import { AudioPlayer } from 'yo-audio-player'
  const src= [
    'http://attachment.0sm.com/node0/2024/06/866612DDA5B260F7-e9233f91f555a1ee.mp3',
    'http://music.163.com/song/media/outer/url?id=454828906.mp3'
  ]
  const index = ref(0)

  const handleDownload = () => {
    console.log('download')
  }

  const playerRef = ref<InstanceType<typeof Player>>()
  const handleTest = (state?: boolean) => {
    if (state) {
      playerRef?.value?.play()
    } else {
      playerRef?.value?.pause()
    }
  }

  const handleSetSpeed = () => {
    playerRef?.value?.setSpeed(3)
  }
  const handleSetVolume = () => {
    playerRef?.value?.setVoice(90)
  }
</script>
<style lang="scss" scoped></style>

Player 属性

属性名称说明类型默认值
src音频链接地址String
controls控制按钮 未匹配的组件将以slot 方式插入Array 'play', 'timer', 'progress', 'volume', 'speed', 'download' 操作按钮出现的顺序将以数组顺序渲染 'play', 'timer', 'progress', 'volume', 'speed', 'download'
width播放器宽度String / Number100%
volumeBarWidthnumber音量控制条宽度120
disabledboolean是否禁用false
useDefaultDownloadboolean是否使用默认下载行为true

Player Events 方法

属性名称说明类型
download点击下载按钮触发Funtion
error播放器发生错误触发Function
volumeChange音量发生变化触发Function
progressChange播放进度位置发生变化触发Function
speedChange播放速度发生变化触发Function
timeupdate播放进度回调() => Event

Player Exposes

属性名称说明类型
audioaudio标签domHtmlAudioElement
pause播放器暂停播放方法Function
play播放器开始播放方法Function
setVoice设置音量 0 - 100Funtion
setSpeed设置播放速度 0 - 5Function

Player slots 属性及方法

属性名称说明类型
disabled是否禁用boolean
duration音频总时长number
audio播放器domHtmlAudioElement
play播放方法Function
pause暂停方法Function
isPlaying是否正在播放boolean
loading资源是否正在加载中boolean
currentVolume当前音量number
currentProgress当前播放进度百分比number
currentTime当前播放时间number
currentSpeed当前播放速度number
src当前音频地址string
setProgress设置播放进度(pro: number) => void
setSpeed设置播放速度(speed: number) => void
setVolume设置播放音量(volume: number) => void
0.0.21

10 months ago

0.0.20

1 year ago

0.0.19

1 year ago

0.0.18

1 year ago

0.0.17

1 year ago

0.0.16

1 year ago

0.0.15

1 year ago

0.0.14

1 year ago

0.0.13

1 year ago

0.0.12

1 year ago

0.0.11

1 year ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.3

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago