首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从带有vue的方法播放时,Howler.JS无法播放音频

从带有vue的方法播放时,Howler.JS无法播放音频
EN

Stack Overflow用户
提问于 2019-06-22 20:45:03
回答 2查看 4K关注 0票数 1

我正尝试在Vue页面上使用Howler.JS播放音频文件。由于Chrome AudioContext的策略问题,我决定等待用户交互,这将触发一个方法来开始播放音频文件。但是,不会播放任何音频。我已经检查并确认该方法正在运行,因此它似乎是代码的Howler.JS部分出了问题。

我在Chrome75.0.3770.100(官方版本)(64位)的macOS Mojave 10.14.5 (18F132)上运行页面,带有Vue.JS 2.6.10和Howler.JS 2.1.2。我找到了这个解决方案(没有尝试过) Howler.js doesn't recognize src path to audio file,但它不适用,因为vue-howler没有得到维护。

代码语言:javascript
复制
<script>
import { Howl, Howler } from 'howler';

export default {
  name: 'Lobby',
  data() {
    return {
      userInteracted: false,
    }
  },
  methods: {
    interacted: function () {
      this.userInteracted = true

      var sound = new Howl({
        src: [require('../assets/waiting.mp3')]
      });

      sound.play();
    }
  }
};
</script>
EN

回答 2

Stack Overflow用户

发布于 2021-07-01 19:47:42

您应该在howl对象中设置属性html5=true,这样它看起来

代码语言:javascript
复制
   var sound = new Howl({
    src: [require('../assets/waiting.mp3')],
    html5:true

  });
票数 2
EN

Stack Overflow用户

发布于 2019-06-23 07:23:34

您可以通过HTML5 Audio以相同的方式播放声音

将playSound()注册为全局方法

代码语言:javascript
复制
    Vue.prototype.$playSound = (path, volume = 1) => {
      var audio = new Audio(path);
      audio.volume = volume
      audio.play();
}

代码语言:javascript
复制
this.$playSound('sounds/click.wav')

代码语言:javascript
复制
 <button @click="$playSound('sounds/click2.wav')">Click me!</button>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56715609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档