javascript - JavaScript play() 函数在 Chrome 中不起作用
问题描述
我创建了一个音频对象,并希望在用户离开窗口时播放它。所以,我的代码在这里:
$('body').on('mouseleave', function(){
var audio = new Audio( 'quite-impressed.mp3' )
audio.play()
})
它在 Firefox 中运行良好。如果我单击页面然后将鼠标留在正文之外,它也适用于 Chrome。但是,当我离开鼠标而不单击页面时,控制台中显示错误并且音频不播放
Uncaught (in promise) DOMException: play() failed 因为用户没有先与文档交互。https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
但是,在这个示例站点中,它可以在不与页面交互的情况下正常工作。我怎样才能使它成为可能?提前致谢。
解决方案
这在 Chrome 77 上对我有用:
- 在地址栏上:chrome://settings/content/sound
- 关闭“允许网站播放声音(推荐)”
- 再次开启
推荐阅读
- assembly - 如何计算8051微控制器的延迟
- unit-testing - 如何使用 Mockito 和 JUnit 在 Spring Boot 中测试 POST 方法
- java - Payara 4.1 自动部署 WAR 部署错误 NullPointerException NCLS-CORE-00069 AS-WEB-CORE-00108
- css - 如何使用引导程序 4 制作两个响应部分?
- c# - 复杂的 Linq 查询更新为 DateTime
- javascript - then 不是 axios async/await post request 上的函数
- python - 无法导入pyueye模块,dll错误
- flutter - URI 的目标不存在 'package:flutter/material.dart'
- node.js - 如何为已用作静态的 html 文件使用路由
- python - 在 python 中编写 JSON 数据。格式