微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试在A-Frame中自动播放声音时,如何解决“ AudioContext不允许启动”警告?

如何解决尝试在A-Frame中自动播放声音时,如何解决“ AudioContext不允许启动”警告?

我已经搜索了与此主题相关的其他问题,但是我正在努力将答案应用于自己的项目。我没有太多的JavaScript背景知识,因此我很难将其他答案转换为我的具体情况(即使用A-Frame)。

有关使用声音元素的A-Frame文档:

注意:在iOS上(在任何浏览器中)播放声音都需要物理用户交互。这是浏览器的限制,内部A-Frame事件(如融合光标)不算作交互。解决此问题的方法包括使用“开始体验”按钮开始环境音乐,或使用类似Howler.js的库创建音频精灵。 https://aframe.io/docs/1.0.0/components/sound.html

这现在同样适用于在台式机上的Chrome中播放声音。我想按照建议使用“开始体验”按钮,但实际上我不知道该怎么做。

我收到错误消息:不允许AudioContext启动。用户页面上进行手势操作后,必须恢复(或创建)它。 https://developers.google.com/web/updates/2017/09/autoplay-policy-changes#webaudio

我试图遵循this tutorial,但它也说:

注意:大多数浏览器中的音频自动播放已经或将需要用户交互才能开始。这意味着要自动播放诸如背景音乐或环境音频之类的声音,您需要使用菜单屏幕或静音/取消静音按钮或类似功能才能启用音频自动播放。

但是,我实际上并不知道该怎么做!

此刻我的背景声音如下:

<a-scene 
    sound="src: url(./audio/background.wav); loop:true; autoplay:true; volume:0.5;
    positional: false">

其他音频如下:

<a-cone 
    color="#007bff" radius-bottom="18" radius-top="0" height="120" position="-18 60 65"
    shadow="cast:true;receive: false" 
    sound="src: url(./audio/loop.wav); autoplay: true; loop: true; volume: 1;">
</a-cone>

有人可以建议我创建“开始体验”按钮或“开始/停止”声音按钮,以允许自动播放吗?

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。