解决audio标签播放amr格式的音频

3,836 阅读1分钟

audio标签支持mp3、wav、ogg、acc、m4a,但是不支持amr格式的音频播放,最近的需求里需要播放amr格式的音频,记录一下怎么实现的
可以下载一个依赖benz-amr-recorder,实例化去播放

<audio
      id="upload-audio"
      ref="audio"
      @play="onPlay"
      :src="audioObj.musicurl"
      preload="auto"
>
</audio>
<span class="duration">音频时长:{{maxTime}}</span>
   
// npm下载安装benz-amr-recorder
npm install benz-amr-recorder
// 然后在需要用到的组件中引入,并在组件创建之后进行实例化
import BenzAMRRecorder from 'benz-amr-recorder'
var amr = new BenzAMRRecorder();
// 就可以通过click事件去初始化音频,并进行控制音频的播放音频和暂停
onPlay(url) {
// 初始化完成音频之后操作
  amr.initWithUrl(url).then(function() {
  this.maxTime = this.amr.getDuration();
    // amr.isPlaying() 返回音频的播放状态 是否正在播放 返回boolean类型
    console.log(amr.isPlaying())
    if(amr.isPlaying()){
      amr.stop();
    } else {
      amr.play();
    }
  });
},