You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助:为艺术装置网站的Alert弹窗绑定音频并按序播放

兄弟我太懂这种烦躁了!花了好几个小时啃自己完全摸不着头脑的JavaScript,换谁都得炸毛。别慌,我给你整了一套傻瓜式的代码,你复制粘贴改改文字和音频文件名就行,完全不用懂JS!

解决方案:按顺序弹出Alert+同步播放对应音频

第一步:先理清楚你的文件

  • 把所有WAV音频文件和你的HTML页面放在同一个文件夹里(或者你也可以建个audio子文件夹专门放音频,后面改路径就行)
  • 给音频起好对应名字,比如audio1.wav、audio2.wav,方便和弹窗内容对应

第二步:复制下面的代码到你的HTML文件里

你只需要修改代码里的alertsAndAudio数组内容——把每个对象里的text换成你的弹窗文字,audioSrc改成对应的音频文件名就行,其他代码完全不用碰!

<!DOCTYPE html>
<html>
<head>
    <title>人机互动艺术装置</title>
</head>
<body>
    <!-- 可选:如果浏览器阻止自动播放,加个启动按钮让用户点击 -->
    <button onclick="startInteraction()">点击开始互动</button>

    <script>
        // ********* 这里是你唯一需要修改的部分!*********
        const alertsAndAudio = [
            { text: "你好,我能感知到你的存在", audioSrc: "audio1.wav" },
            { text: "你现在的动作,我都在观察", audioSrc: "audio2.wav" },
            { text: "我们可以一起完成一场小互动", audioSrc: "audio3.wav" },
            { text: "你愿意试试回应我吗?", audioSrc: "audio4.wav" },
            { text: "很高兴和你度过这段时间", audioSrc: "audio5.wav" },
            // 要加更多的话,照着上面的格式继续加就行
            // { text: "下一个弹窗的内容", audioSrc: "audio6.wav" }
        ];

        // 下面的代码不用改!
        let currentStep = 0;

        function playNext() {
            // 所有弹窗都走完了的收尾
            if (currentStep >= alertsAndAudio.length) {
                alert("互动结束啦!");
                return;
            }

            const currentItem = alertsAndAudio[currentStep];
            // 创建音频对象
            const audio = new Audio(currentItem.audioSrc);
            
            // 先播放音频,音频开始后弹出Alert,用户点确定再走下一步
            audio.play().then(() => {
                alert(currentItem.text);
                currentStep++;
                playNext();
            }).catch(err => {
                // 万一音频加载失败,直接弹Alert继续,不卡住
                console.log("音频加载失败,跳过播放:", err);
                alert(currentItem.text);
                currentStep++;
                playNext();
            });
        }

        // 页面加载自动启动(如果浏览器阻止自动播放,就用上面的按钮启动)
        function startInteraction() {
            currentStep = 0;
            playNext();
        }

        // 可选:页面加载完自动启动,被阻止就用按钮
        // window.onload = function() {
        //     startInteraction();
        // };
    </script>
</body>
</html>

第三步:调整细节

  • 如果你的音频放在audio子文件夹里,audioSrc要写成"audio/audio1.wav"这种格式
  • 如果浏览器阻止自动播放(现在很多浏览器都有这机制),就把代码里注释掉的window.onload那段保持注释,让用户点击页面上的按钮启动互动就行

第四步:测试

把HTML文件和音频文件放在一起,用浏览器打开,点击按钮(或者等自动启动),就能看到音频先播放,然后弹出对应Alert,用户点击确定后自动进入下一组,直到所有互动完成。

内容的提问来源于stack exchange,提问作者B.Ashcroft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:24:08