在与页面交互之前不会播放声音

问题描述 投票:0回答:1

我试图在用户使用鼠标滚轮滚动时向我的页面添加声音效果。 当页面加载并且用户滚动时,侦听器按预期工作,但未播放声音。 只有当我与页面交互(例如通过单击鼠标)然后滚动时,我才能听到滚动音效。 我尝试通过 JS 脚本播放声音一次,音量为 0,但没有解决问题。 即使在脚本开头手动添加 document.click() 也没有帮助。

JS代码:

click.preload = 'auto';

var sc = new Audio("/SND/scroll.wav");
sc.preload = 'auto';

// Tried to autoplay the sound one time
sc.volume = 0.0;
sc.play();
sc.volume = 1.0;
sc.pause();
sc.currentTime = 0;

function playClick(evt){
    if(evt.target.nodeName == "input" ||
       evt.target.id == "arrw_l" ||
       evt.target.id == "arrw_r"
    ){
        click.currentTime = 0; click.play();
    }
}

function playScroll(evt){
    sc.currentTime = 0; sc.play();
}

window.onload = function(){
    document.addEventListener('wheel', playScroll);
    document.addEventListener('click', playClick);
}
javascript
1个回答
0
投票

这是不可能的。更多详细信息可以在以下链接中找到: https://discourse. Threejs.org/t/can-we-play-sound-of-a-video-without-user-interaction/67865/2

© www.soinside.com 2019 - 2024. All rights reserved.