我已经搜索了与此主题相关的其他问题,但是我正在努力将答案应用于自己的项目。我没有太多的JavaScript背景知识,因此我很难将其他答案转换为我的具体情况(即使用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>
有人可以建议我创建“开始体验”按钮或“开始/停止”声音按钮,以允许自动播放吗?
谢谢。