如何解决允许音频在页面加载时播放
我正在为某些仓库扫描仪维护一个旧式ASP / VBScript应用程序。他们在装有Chrome 64的Android 7上运行。我可以配置Chrome,但我可以这样做,因此我不会像普通网站那样受到限制。由于此Web应用程序的性质,在页面加载时播放声音会提高可用性(当提交的操作失败时)。有什么方法允许音频文件在页面加载时播放?
与用户互动后,我可以轻松播放声音。但是,我尝试了多种方法来在页面加载时播放声音而没有成功:
-
带有自动播放的<audio>标签无法播放(
Stack
)。 -
在 load 事件(
<audio autoplay="">
)中播放声音。返回的 Promise 失败,并显示以下错误:Audio.play()
-
使用 autoplay 创建一个Audio,并在 load 事件期间将其附加到 body 。
-
创建一个Audio,将其附加到 body ,并在 load 事件期间将其
NotAllowedError: play() can only be initiated by a user gesture.
附加。产生相同的“ NotAllowedError”。 -
将该网站列入白名单以获取Chrome中的声音。
-
确保在Chrome中将媒体自动播放设置设置为允许。
解决方法
Chrome 和 Firefox 都不再支持音频和视频的自动播放属性,除非是静音的视频。
您可以在此处阅读更多相关信息:Autoplay Policy
但是,最近我找到了一种使用 Howler.js 库的解决方法,它似乎仅在以下几行代码中就可以很好地工作:
let timer,sound;
sound = new Howl({
src: ['<?= get_theme_file_uri() ?>/images/spotAudio.mp3']
});
sound.play();
您可以在此处下载库并阅读文档:https://howlerjs.com/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。