【Vue-Element】好用的音频组件

1、vue-audio-better

源码及Demo

个人建议将源码下载下来,修改源码(包括界面功能按钮分布,方法调用等)使用。
在这里插入图片描述

1.1 示例

Normal
在这里插入图片描述
Mini
在这里插入图片描述

1.2 安装

npm install vue-audio-better --save

1.3 使用

Normal


  <vue-audio
    audio-source="https://example.com/example.mp3"
  ></vue-audio>

Mini


  <mini-audio
    audio-source="https://example.com/example.mp3"
  ></mini-audio>

1.4 参数

名称类型默认值备注是否必选
widthNumber500音频组件宽度
audio-sourceString音频文件URL地址
html5Booleanfalse是否强制使用html5音频
loopBooleanfalse播放结束后是否自动重新开始播放
preloadBooleantrue组件挂载时是否开始下载音频文件
autoplayBooleanfalse组件挂载时是否开始播放
formatsString[][]Howler.js 会自动从扩展中检测您的文件格式,但您也可以在无法提取的情况下指定格式(例如使用 SoundCloud 流)
xhrWithCredentialsBooleanfalsewithCredentials使用 Web Audio API 时是否在用于获取音频文件的 XHR 请求上启用标志(请参阅参考资料)

1.5 组件内部数据

名称类型默认值备注是否必选
playingBoolean当前是否正在播放音频
mutedBoolean音频播放是否静音
volumeNumber播放的音量0到1
rateNumber播放的速度范围从0.5-4
seekNumber播放位置
durationNumber音频的持续时间
progressNumber播放进度0-1

组件内部数据,可以通过组件直接控制,也可以修改源码更改默认值。

1.6 方法

名称参数备注
play播放
pause暂停播放
togglePlayback切换播放或暂停播放
stop停止播放
mute静音播放
unmute取消静音播放
toggleMute切换静音和取消静音播放
setVolume(volume)volume设置播放音量(值介于0-1之间)
setRate(rate)rate设置播放的速率(速度)(值介于0.5-4之间)
setSeek(seek)seek设置播放的位置(值在0和duration之间)
setProgress(progress)progress设置播放进度(值在0-1之间)

2、vue-audio-visual

源码及Demo

    <av-line
      :line-width="2"
      line-color="lime"
      audio-src="/static/music.mp3"
    ></av-line>

在这里插入图片描述

    <av-bars
      caps-color="#FFF"
      :bar-color="['#f00', '#ff0', '#0f0']"
      canv-fill-color="#000"
      :caps-height="2"
      audio-src="/static/bach.mp3"
    ></av-bars>

在这里插入图片描述

    <av-circle
      :outline-width="0"
      :progress-width="5"
      :outline-meter-space="5"
      :playtime="true"
      playtime-font="18px Monaco"
      audio-src="/static/bach.mp3"
    ></av-circle>

在这里插入图片描述

    <av-waveform
      audio-src="/static/bar.mp3"
    ></av-waveform>

在这里插入图片描述

    <av-media
      :media="mediaObject"
    ></av-media>

在这里插入图片描述

2.1 安装

npm install --save vue-audio-visual

2.2 引用

import Vue from 'vue'
import AudioVisual from 'vue-audio-visual'

Vue.use(AudioVisual)

2.3 使用

  <av-bars
    audio-src="/static/bach.mp3">
  </av-bars>

2.4 参考

1)源码API

  • 6
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
你可以使用 Element UI 提供的 Upload 组件来实现音频文件上传功能。以下是一个简单的示例代码: ``` <template> <div> <el-upload class="upload-demo" action="/uploadAudio" :headers="{ Authorization: 'Bearer ' + token }" :before-upload="beforeUpload" :on-success="onSuccess" :on-error="onError" :limit="1" :accept="'audio/*'" :show-file-list="false" > <el-button type="primary">点击上传音频文件</el-button> </el-upload> </div> </template> <script> export default { data() { return { token: '', }; }, methods: { beforeUpload(file) { // 验证文件类型和大小 const isAudio = file.type.startsWith('audio/'); const isLt10M = file.size / 1024 / 1024 < 10; if (!isAudio) { this.$message.error('只能上传音频文件'); } if (!isLt10M) { this.$message.error('上传音频文件大小不能超过 10MB'); } return isAudio && isLt10M; }, onSuccess(response, file, fileList) { // 上传成功后的处理逻辑 console.log('上传成功'); }, onError(error, file, fileList) { // 上传失败后的处理逻辑 console.log('上传失败'); }, }, }; </script> ``` 在上面的示例代码中,我们使用了 Element UI 的 Upload 组件来实现音频文件上传功能。其中,主要的配置项包括: - `action`:上传文件的接口地址 - `headers`:上传请求的头部信息,需要传递用户的身份认证信息 - `before-upload`:上传前的钩子函数,用于验证文件类型和大小等信息 - `on-success`:上传成功后的回调函数 - `on-error`:上传失败后的回调函数 - `limit`:限制上传的文件数量为 1 个 - `accept`:限制上传的文件类型为音频文件 - `show-file-list`:不显示上传成功的文件列表,只显示上传按钮 需要注意的是,在上传文件时需要传递用户的身份认证信息,可以将用户的 token 存储在组件的 data 中,并在 headers 配置项中传递。另外,需要在上传前使用 before-upload 钩子函数验证文件类型和大小等信息,避免上传无效的文件。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值