Javascript 音频播放在这种情况下不起作用

Posted

技术标签:

【中文标题】Javascript 音频播放在这种情况下不起作用【英文标题】:Javascript Audio play is not working in this condition 【发布时间】:2021-08-01 12:13:44 【问题描述】:
nextSequence(); // it's not working that audio.play();
$("body").click(function()nextSequence()); // but it's working

function nextSequence()

    var randomNumber = Math.floor( Math.random() * 4 );
    var randomChosenColour = buttonColours[randomNumber];
    
    gamePattern.push(randomChosenColour);
    
    $("#"+randomChosenColour).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
    var audio = new Audio("sounds/yellow.mp3");
    audio.play();

我正在学习 javascript 和 JQuery 。当我尝试这段代码时,我有一个问题。 仅当我使用 "$("body").click(function()nextSequence());" 时音频运行良好时,我使用 "nextSequence()" 时听不到正在播放的音频;"试试这个功能。 我认为他们俩都在触发该功能。但是为什么只有“nextSequence()”不能执行audio.play()方法呢?

【问题讨论】:

检查控制台并分享错误。可能你需要在定义函数后调用它 【参考方案1】:

谷歌浏览器只允许在用户与页面交互后播放音频。在此处查看更多信息:https://developer.chrome.com/blog/autoplay/

【讨论】:

以上是关于Javascript 音频播放在这种情况下不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥 DISTINCT 在这种情况下不起作用? (SQL)

为啥这个 if 语句在这种情况下不起作用? [关闭]

为啥我的 JRadioButton 在这种情况下不起作用?

为啥 os.path.join() 在这种情况下不起作用?

为啥我的停止按钮在这个 javascript 音频播放器上不起作用?

jquery/livequery 在这种特殊情况下不起作用