input上传音频文件并获取时长

input上传音频文件并获取时长

都是来源于开发过程中的使用,有时候上传音频以后需要计算时长回显或者传参给后台

  1. HTML
<el-button size="small" type="primary" plain  @click="handleClickUploadAudio">上传音频文件</el-button>
<input
    type="file"
    id="audio_element"
    accept=".tif,.mp3,.wma,.wav,.ape,.flac,.ogg,.aac"
    style="display: none"
    @change="handleAudioChange">
  1. JS
handleClickUploadAudio () {
  let audioInput = document.getElementById('audio_element')
  let that = this
  // 监听 input 元素的 change 事件
  audioInput.addEventListener('change', function () {
    // 获取用户选择的文件
    const file = this.files[0];
    if (file) {
      // 创建 FileReader 对象
      const reader = new FileReader()
      // 监听 FileReader 的 load 事件
      reader.onload = function (e) {
        // 创建 Audio 对象
        const audio = new Audio()
        // 设置 Audio 对象的 src 属性为文件的 DataURL
        audio.src = e.target.result

        // 监听 Audio 对象的 loadedmetadata 事件
        audio.addEventListener('loadedmetadata', function () {
          // 获取音频的时长
          that.audioDuration = this.duration
        })
      }

      // 读取文件为 DataURL 格式
      reader.readAsDataURL(file)
    }
  })
  document.getElementById('audio_element').click()
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值