音频标签只播放一次声音,点击 - Safari

时间:2021-06-20 12:15:39

标签: javascript audio safari playback

我正在为自己制作这个小练习项目,一个鼓机,你按下一个按钮 - 你会得到某种声音。一切正常,直到我在 Safari 中打开它。它播放一次声音,然后它会播放一次,但是音频听起来有问题而且很安静,以至于我最初认为根本没有声音。我附上了 codepen 的链接。当然,codepen 版本中没有声音,因为我真的不知道在哪里可以轻松上传它们。如果有人知道这样做的好方法,我也很乐意添加。

<div data-key="KeyA" class="button flex">
    <h1>A</h1>
    <h2>Kick</h2>
    <audio data-key="KeyA" src="./sounds/kick.wav"></audio>
</div>
<div data-key="KeyS" class="button flex">
    <h1>S</h1>
    <h2>Snare</h2>
    <audio data-key="KeyS" src="./sounds/snare.wav"></audio>
</div>

...

const buttons = document.querySelectorAll('.button');

buttons.forEach(button => {
    button.addEventListener('click', e => {
        const sound = document.querySelector(`audio[data-key="${button.dataset.key}"]`);
        sound.currentTime = 0;
        sound.play();

window.addEventListener('keydown', e => {
    const sound = document.querySelector(`audio[data-key="${e.code}"]`);
    sound.currentTime = 0;
    sound.play();
    boxPress(e);
});

https://codepen.io/onelegtony/pen/qBrwPrP

0 个答案:

没有答案