javascript - google 自动播放限制的解决方法
问题描述
我了解谷歌限制了谷歌浏览器上视频和音频功能的自动播放,并且在播放音频之前需要用户交互。
但是,当我悬停图像时,我的应用程序需要播放音频。
我尝试创建一个不可见的按钮并在我的事件上模仿一个点击@mousehover
事件。
我是这样做的:
<audio id="myaudio" muted="true" style="display:none">
<source src="some_audio_source" type="audio/*" /> <!-- -->
</audio>
<button id="fake-btn" style="display: hidden"></button>
<div @mousehover="playAud('myaudio')>
<img src="some_iamge_source>
</div>
playAud(audid) {
document.getElementById('fake-btn').click();
const curAud = document.getElementById(audid);
curAud.play();
}
但是,错误Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first
仍然存在。
这些限制有什么解决方法吗?
解决方案
推荐阅读
- c - 将数组复制到每个数据字段中的链表
- regex - 如何在颤动中将空组与正则表达式匹配?
- node.js - Sequelize-Oracle 仅返回 100 行,即使限制超过 100
- cuda - Cuda:将一维数组从 CPU 复制到 GPU
- php - 如何在 PHP 中按值对对象数组集合进行排序
- pandas - vote_counts = md[md['vote_count'].notnull()]['vote_count'].astype('int')
- react-apollo - 如何获取整个分页列表/重新获取整个分页列表?
- css - 无法通过遍历
使用scrapy和css来刮 - ruby-on-rails - 如何验证json中的唯一性?
- asp.net-core - GraphQL DotNet 遇到错误请求错误