繁体   English   中英

javascript onload 播放音频文件

[英]javascript onload play audio file

我有一个带有按钮的音频文件,当我单击它时播放音频,当我再次单击音频暂停时,我也想在页面直接加载音频播放而不单击按钮时

我在 html 中尝试了autoplay ,但没有成功

我试过allow="autoplay"也没有用

我试过window.addEventListener('load')也没有用

我读到我应该使用muted ,但它也没有用

我正在使用 chrome 和 firefox

那么如何使此音频在刷新或加载页面时工作,当我单击按钮时,音频将暂停,当我再次单击时,音频将暂停

我搜索了堆栈溢出但没有解决我的问题

 let audio = document.querySelector('.music audio'); let audioBtn = document.querySelector('.music.musicBtn i'); audio.volume = 0.2; window.addEventListener("load", () => { audio.play(); }); audioBtn.addEventListener("click", () => { if (audio.paused) { audio.play(); audioBtn.classList.add('fa-volume-up'); audioBtn.classList.remove('fa-volume-mute'); } else { audio.pause(); audioBtn.classList.add('fa-volume-mute'); audioBtn.classList.remove('fa-volume-up'); } });
 .musicBtn { background: transparent; padding: 1.5rem 2rem; font-size: 3rem; border: none; cursor: pointer; }
 <div class="music"> <audio id="audio" style="display:none;" src="music/music.mp3" allow="autoplay" controls autoplay loop></audio> <button class="musicBtn"><i class="fas "></i></button> </div> <script src="https://kit.fontawesome.com/9e5ba2e3f5.js" crossorigin="anonymous"></script>

你不能,因为浏览器只允许作为用户交互的结果播放声音。 您可以尝试劫持任何单击或鼠标移动以启用声音的平缓,但没有办法真正做到仅在加载时。

https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide

您可以通过单击 DOM 加载上的播放按钮来尝试手动交互,以便播放音频,

if (document.readyState === 'complete') {
   document.getElementById('#playButton').click();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM