首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用mp3播放Vue.js

尝试使用mp3播放Vue.js
EN

Stack Overflow用户
提问于 2020-07-09 22:58:43
回答 1查看 6.9K关注 0票数 4

目标:

  • 试图使用具有播放暂停状态的本地文件向我的项目添加背景声音。

加载外部URL文件似乎没有问题,可以播放/暂停,但本地文件不行。

问题:

  • 也是什么原因使URL http://....mp3文件播放而我的本地文件不播放?

发行:

Status Code: 206 Partial Content

  • Console

  • 网络状态是错误是Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().

HTML:

代码语言:javascript
复制
    <div class="music-player">
        <audio
          ref="audio"
          preload="auto"
          volume="0.1"
          muted
          loop
        >
          <source :src="file" />
        </audio>
        <div @click="toggleSound(file)" class="toggle-sound paused"></div>
      </div>

JS:

代码语言:javascript
复制
    data: () => ({
      ...,
      file: "/public/audio/bg-music.mp3"
    }),
    methods: {
    toggleSound() {
        let audio = this.$refs.audio;
        if (
          audio.paused &&
          document.querySelector(".toggle-sound").classList.contains("paused")
        ) {
          console.log("play it")
          audio.play();
          document.querySelector(".toggle-sound").classList.remove("paused");
        } else {
          console.log("pause it")
          audio.pause();
          document.querySelector(".toggle-sound").classList.add("paused");
        }
      },
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-11 04:53:20

我只是简单地将音频src添加到audio标记中,如下所示,它工作了!

代码语言:javascript
复制
<div class="music-player">
    <audio
      ref="audio"
      src="@/assets/audio/bg-music.ogg"
      preload
      loop
      id="audio"
      muted
    ></audio>
    <div @click="toggleSound()" class="toggle-sound"></div>
  </div>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62824950

复制
相关文章

相似问题

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