我的 javascript 中有一个音频对象并调用了 play 函数。当我第一次进入该页面或通过其他页面的链接进入该页面时,它工作正常,但是当我在带有音频的页面上并且只想刷新页面时,我会收到音频错误,
Uncaught (in promise) DOMException
我读过一篇关于某人的帖子,其音频仅在刷新几次后才有效(与我的问题相反)。我已经读到了这个错误。但我想做的就是刷新页面,让一切像第一次一样工作。
console.log("playing test sound");
let test_sound = new Audio('/static/audio/to-the-point.mp3');
test_sound.play();
当我第一次进入该页面时,这是有效的,但当我刷新它时,就会出现该错误,并且无论我刷新多少次,音频都不起作用......有什么想法吗?
编辑:经过更多的尝试,音频在刷新时出现错误的时间非常不一致。有时,刷新没问题,但有时却会出现错误。一旦收到错误,后续刷新也会收到该错误。也许是我的 chrome 浏览器或 mac 电脑的问题?
根据我自己的研究和 @Kokodoko 的帮助,您似乎必须在允许音频之前与您的网页进行交互。这就是为什么当我来自另一个页面时它对我有用,但当我刷新时它却失败了。
解决方案:让用户进行交互。
不幸的是,没有真正的解决方法可以让音频在用户交互之前播放。在音频开始之前强制用户以某种方式进行交互是让音频正常工作的唯一方法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)