尝试使用 Vue.js 播放 mp3

编程入门 行业动态 更新时间:2024-10-22 11:06:58
本文介绍了尝试使用 Vue.js 播放 mp3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

目标:

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

加载外部 URL 文件似乎没问题,播放/暂停正常,但不是本地文件.

问题:

另外,URL http://....mp3 文件播放而我的本地文件不播放的确切原因是什么?

问题:

网络状态为状态代码:206 部分内容控制台错误是 Uncaught (in promise) DOMException: The play() 请求被调用 pause() 中断.

HTML:

 

<音频ref=音频"预加载=自动"体积=0.1"静音环形><源代码:src=文件"/><div @click="toggleSound(file)";class="toggle-sound paused"></div>

JS:

 数据:() =>({...,文件:/public/audio/bg-music.mp3";}),方法: {切换声音(){让音频 = this.$refs.audio;如果 (audio.paused &&document.querySelector(".toggle-sound").classList.contains("paused")){console.log(播放")音频播放();document.querySelector(".toggle-sound").classList.remove("paused");} 别的 {console.log("暂停")音频暂停();document.querySelector(".toggle-sound").classList.add("paused");}},}

解决方案

我只是将音频源添加到 audio 标签中,如下所示,它起作用了!

<音频ref=音频"src="@/assets/audio/bg-music.ogg";预载环形id=音频"静音></音频><div @click="toggleSound()";class="toggle-sound"></div>

Goal:

Trying to add a background sound to my project with a local file that has a play pause state.

Loading an external URL file seems ok and plays/pauses fine, but not local file.

Question:

Also what is the exact reason a URL http://....mp3 file plays and my local does not?

Issue:

Network status is Status Code: 206 Partial Content Console error is Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().

HTML:

    <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:

    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");
        }
      },
    }

解决方案

I simply added the audio src to the audio tag like the below and it worked!

<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>

这篇关于尝试使用 Vue.js 播放 mp3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-27 00:56:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1144971.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Vue   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!