vue播放音频

安装

npm install vue-audio --save

页面

     <audio controls="controls" hidden src="./static/audio/tsy.wav" ref="audio"></audio>
 this.$refs.audio.currentTime = 0; //从头开始播放提示音
          this.$refs.audio.play(); //播放

<audio id="resource" :src="audioSrc" controls autoplay="autoplay"  v-show='yinpinshow'></audio>

自动播放autoplay=“autoplay”
隐藏页面元素v-show=‘yinpinshow’

初始化音频

 data() {
        return {
          audioSrc:require('@/assets/Jay.mp3'),
          yinpinshow:false
        }
 }

动态改变音频地址

this.audioSrc=require('@/assets/hgtc.mp3')

配置webpack.base.conf.js

  {
   test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
   loader: 'url-loader',
   options: {
     limit: 10000,
     // name: utils.assetsPath('media/[name].[hash:7].[ext]')
     name: utils.assetsPath('assets/[name].[hash:7].[ext]')
   }
 },
window.AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.msAudioContext;
              try {
                  var context = new window.AudioContext();;
                  var source = null;
                  var audioBuffer = null;
                  function stopSound() {
                      if (source) {
                          source.stop(0); //立即停止
                      }
                  }
                  function playSound() {
                      source = context.createBufferSource();
                      source.buffer = audioBuffer;
                      source.loop = false; //循环播放
                      source.connect(context.destination);
                      source.start(0); //立即播放
                  }
                  function initSound(arrayBuffer) {
                      context.decodeAudioData(arrayBuffer, function(buffer) { //解码成功时的回调函数
                          audioBuffer = buffer;
                          playSound();
                      }, function(e) { //解码出错时的回调函数
                          console.log('Error decoding file', e);
                      });
                  }
                  function loadAudioFile(url) {
                      var xhr = new XMLHttpRequest(); //通过XHR下载音频文件
                      xhr.open('GET', url, true);
                      xhr.responseType = 'arraybuffer';
                      xhr.onload = function(e) { //下载完成
                          initSound(this.response);
                      };
                      xhr.send();
                  }
                  loadAudioFile('./static/audio/tsy.mp3');
                  $("#stop").click(function() {
                      stopSound();
                  });
              } catch (e) {
                  console.log('!Your browser does not support AudioContext');
              }

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值