javascript - 单击图像时播放音频时出现问题

标签 javascript html dom

我的 html 文档中有以下代码:

    <script>
    function playSound() {
      document.getElementById("easteregg").innerHTML= "<embed src=\"file.mp3\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
    }
    </script>

    <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand"><img src="img/logo.png" width="180px" onclick="playSound();" /></a>
    </div>

    <span id="easteregg"></span>

单击 Logo 时没有任何反应。想法?

编辑:找到解决方案。

我采纳了 Blake McConnell 的建议并转换为 <audio>标签。

代码:

    audio { 
        display:none;
    }

    <a class="navbar-brand"><img src="img/logo.png" width="180px" onclick="document.getElementById('easteregg').play();" /></a>

    <audio id="easteregg" src="file.mp3" type="audio/mpeg" hidden="true" controls="false"></audio>

最佳答案

尝试用“autoplay”替换嵌入标签中的“autostart”属性。

我可能误解了您的意图,但是将事件监听器附加到您的跨度并使用它来使用 Web Audio API 播放音频不是更容易吗? ?

关于javascript - 单击图像时播放音频时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30357146/

相关文章:

javascript - 检查 Axios Promise catch block VueJs 中的 HTTP 状态代码

javascript - fillStyle 不是函数

javascript - 首次加载时,Slick Slider Items 不可见

html - CSS 标题图像 div

javascript - 如何在Qt WebKit中将网页保存为 "save as complete webpage"

javascript - 如何在 iframe 中插入表格?

javascript - AngularJS 在更改使用相同 Controller 的页面时执行代码

javascript - 使下拉菜单仅在调用函数时可见

java - 使用 java 在 xml 元素中包含重复的命名空间

javascript - 为什么字体大小?为什么字体大小不起作用?