我试图在用户使用鼠标滚轮滚动时向我的页面添加声音效果。 当页面加载并且用户滚动时,侦听器按预期工作,但未播放声音。 只有当我与页面交互(例如通过单击鼠标)然后滚动时,我才能听到滚动音效。 我尝试通过 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);
}
这是不可能的。更多详细信息可以在以下链接中找到: https://discourse. Threejs.org/t/can-we-play-sound-of-a-video-without-user-interaction/67865/2