php 用户交互后HTML音频自动播放

k0pti3hp  于 2023-09-29  发布在  PHP
关注(0)|答案(1)|浏览(127)

Chrome's autoplay policies changed in April of 2018.我想使用它的策略之一:如果用户与域进行了交互(单击、轻击等),则允许自动播放声音。因此,我有一个网页

<a href="d2.php">dictation</a>

当用户点击上述页面上的链接时,加载第二网页d2.php。其内容如下所示

<!DOCTYPE html>
<html>
<body>

<h1>The audio autoplay attribute</h1>

<p>Click on the play button to play a sound:</p>

<audio controls autoplay>
  <source src="https://www.w3schools.com/tags/horse.ogg" type="audio/ogg">
  <source src="https://www.w3schools.com/tags/horse.mp3" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>

</body>
</html>

音频自动播放在Chrome上正常工作。也可以验证自动播放与边缘和歌剧作品。然而,在这方面,
1.它不适用于Firefox 117.0.1(64位),即音频不自动播放。
1.我用WINE在Ubuntu上安装了一个Safari版本,它给予我一个“你的浏览器不支持音频元素”的消息。
我认为Safari消息是由我的Ubuntu - WINE安装引起的。但是,有谁能帮我解决firefox音频自动播放的问题吗?我对HTML,PHP和JaveScript的任何解决方案都持开放态度。先谢了。
PS:我在网上看过很多关于“html音频自动播放”的热门帖子。

qqrboqgw

qqrboqgw1#

Under default settings-用于Firefox(至少到最新版本(截至目前):Firefox 117.0.1),则自动播放音频被阻止,因此如果在同一页面上有人类交互**(例如单击按钮)
所以,apart from the built-in "play" button in the audio element,你可以使用JS(比如说与点击按钮相关联)来触发音频播放,你可以(作为演示):
1.为音频分配一个ID(例如音频1)
1.触发play(),如document.getElementById('audio 1').play();
所以代码是:

<!DOCTYPE html>
<html>
<body>

<h1>The audio autoplay attribute</h1>

<p>Click on the play button to play a sound:</p>

<audio controls autoplay id=audio1>
  <source src="https://www.w3schools.com/tags/horse.ogg" type="audio/ogg">
  <source src="https://www.w3schools.com/tags/horse.mp3" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>

<input type=button onclick="javascript:play1();" value="Play">
</body>
</html>

<script>
function play1(){
document.getElementById('audio1').play();
}
</script>

你可以试试这个sandbox看看效果,请尝试通过Chrome和firefox的链接
Alternatively,您可以通过以下方式更改firefox默认设置:
1.在Firefox中单击设置,
1.点击隐私和安全,
1.滚动到“自动播放”并单击“设置”
1.选择“允许音频和视频”
如果你做了以上的事情,那么当页面在Firefox中加载时,自动播放音频将被允许

相关问题