vue背景音频播放以及failed because the user didn‘t interact with the document first问题

先说一下报错的原因
在用户没有任何操作的情况下直接播放背景音乐是不行的,有的浏览器支持有的不支持。错误的意思是,在尝试访问用户的文件系统或数据库之前,用户未与文档进行任何交互。

背景音频的使用

第一种

javascript 复制代码
<audio id="background-music" style="visibility: visible;" src="xxxxxx.mp3"></audio>

mounted() {
  //当鼠标点击后就有了交互事件,再获取音频播放
   document.addEventListener('click', (event) =>{
    	console.log('开始音频')
   		const audio = document.getElementById('background-music');
  		audio.play();
   })
    //   document.addEventListener('keydown', function(event) {
    //     console.log('按下键盘键码:');
    //   });
},

第二种

javascript 复制代码
mounted() {
  //当鼠标点击后就有了交互事件,再获取音频播放
   document.addEventListener('click', (event) =>{
	 let audio = new Audio();
	 audio.controls = false; //这样控件才能显示出来
	 audio.src = 'xxxxx.mp3'; //音乐的路径
	 document.body.appendChild(audio);
	 audio.play();
 })
}
相关推荐
EasyDSS6 小时前
私有化视频会议系统/私有化音视频系统EasyDSS如何构建金融行业视频会议安全技术底座
安全·金融·音视频
thankseveryday6 小时前
Three.js 把 Blender 绘制的曲线(Bezier / 曲线) 导入 Three.js 并作为运动路径 / 动画路径使用
开发语言·javascript·blender
许彰午7 小时前
Spring Boot + Vue 实现 XML 动态表单:固定字段 + 自由扩展方案
xml·vue.js·spring boot
前端那点事7 小时前
Vue并发控制|几十个请求高效管控(实战方案+可运行代码)
前端·vue.js
前端那点事7 小时前
Vue大批量接口请求优化|告别卡顿、超时!前端落地实战指南
前端·vue.js
ai产品老杨7 小时前
架构解析:基于GB28181/RTSP的AI视频管理平台——支持X86/ARM异构计算、Docker容器化与源码交付
人工智能·架构·音视频
空中海8 小时前
第四章:Vue Router
前端·javascript·vue.js
竹林8188 小时前
从零集成RainbowKit:我如何在一个周末搞定多链钱包连接并填平三个大坑
前端·javascript
2601_953465618 小时前
M3U8 在线播放器:无需安装,一键调试 HLS 直播流
开发语言·前端·javascript·开发工具·m3u8·m3u8在线播放
Ruihong8 小时前
你写的是 Vue,跑起来是纯 React?这是什么黑科技
vue.js·react.js·面试