【问题标题】:How do i assign my audiofile to my mute/unmute toggle-button?如何将我的音频文件分配给我的静音/取消静音切换按钮?
【发布时间】:2014-11-23 04:09:23
【问题描述】:

这是我之前未回答的问题的更详细版本: https://stackoverflow.com/questions/26076274/html-css-toggle-mute-with-picture-assignment-button

我需要一些 CSS/html5 脚本方面的帮助。你看,我有一个非常酷的按钮,可以静音/取消静音,按钮本身在两张图片之间切换(一张用于静音,一张用于取消静音。你知道,基本的静音/取消静音扬声器图标)取决于它的当前状态.唯一的问题是我不知道如何使这个按钮起作用。该按钮完美地显示在我的页面和所有内容上,当我单击它时,图片会按预期更改,但我的曲目仍在播放。我已经知道问题是什么了。你看,我不知道如何将此按钮分配给我的音频文件。音频本身有很多属性(自动播放、循环播放、显示:无等),所以我不知道在我的脚本中放置它的位置。 该按钮的脚本是在以前的 StackExhange 线程中找到的(Jaka Dirnbek 的回答): How to create a only mute/unmute button (like youtube) in html 而这个问题的提问者只要求按钮,而不是音频设置,这就是我卡住的地方。

我将音频源放在哪里?

在头脑中?还是在体内?以及如何编写我的音频代码?我的音频目前有以下脚本:

<audio id="track" src="Poopsyflop.wav" loop="loop" autoplay="autoplay" div style="display:none">

¨

如果有人有任何想法,我很想听听他们的意见:) 提前致谢!

-丹尼尔

【问题讨论】:

    标签: css html button audio mute


    【解决方案1】:

    您使用音频文件 ID 分配它

    演示http://jsfiddle.net/mattball/sVwXH/

    HTML

    // audio file
    <audio id="background_audio" autoplay="autoplay">
      <source src="http://www.jplayer.org/audio/m4a/Miaow-07-Bubble.m4a" />
    </audio> 
    
    // button
    <a href="#noscroll" id="mute">toggle sound</a>
    

    JS

    var audio = document.getElementById('background_audio');
    
    document.getElementById('mute').addEventListener('click', function (e)
    {
        e = e || window.event;
        audio.muted = !audio.muted;
        e.preventDefault();
    }, false);
    

    这是基于一个可以通过各种来源在线获得的示例。

    【讨论】:

    • 遗憾的是,我的资源有限。我没有 javascript :/ 你认为只使用 css 和 html5 就可以吗?并且仍然保持图片切换效果?不过还是非常感谢! :) 非常感谢您的帮助
    • 你不能只用 CSS 做到这一点。为什么不能应用javascript?我的示例没有使用 jQuery。您不需要参考第 3 方库。只需将此 javascript 包含在文档的页脚中即可。分配音频文件的 ID 和按钮的 ID,它们都应该到位。
    • 等等,你是说我不需要下载任何javascript程序来使用javascript代码吗?我和我的 IT 老师谈过这件事,他告诉我我需要购买 javascript.. 哇.. 我很愚蠢.. 我真的很抱歉,伙计。非常感谢你的帮助!非常感谢! :) 一个新脚本编写者提出了一个更愚蠢的问题。我不确定页脚是如何工作的。我已经完成了几门关于 codecademy 的课程,但还没有走到那一步。如果我没记错的话,页脚是在正文标签之间添加的标签,对吧?所以我所要做的就是用两个页脚标签包围 javascript 部分?
    • 您无需购买javascript或下载任何类型的程序。您只需编写代码,浏览器就会运行它。有不同的库可以让编写 javascript 变得更容易,但在这种情况下,这是一种非常简单的方法,不需要库。关于将其放置在页脚内,这只是帮助确保页面加载更快的建议。只需将我的代码示例放在结束 &lt;/body&gt; 标记之前就可以了。
    • 我不知道。我很抱歉我的无能。所以我得到了静音效果,但图片切换效果消失了。知道如何将您向我展示的内容与我已有的切换按钮结合起来吗?
    【解决方案2】:

    看看here

    例子:

    .unmute{
      background-image: url(http://franriavilla.in/images/unmute.png);
      background-size: cover;
      width:35px;
      height:30px;
      cursor: pointer;
      }
    
    .mute{
      background-image: url(http://franriavilla.in/images/mute.png);
      }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <audio id="track" autoplay="autoplay" loop="loop">
            <source src="http://www.w3schools.com/html/horse.ogg" type="audio/ogg" />
        </audio> 
        
    <div class='unmute' onclick="document.getElementById('track').muted = !document.getElementById('track').muted;$(this).toggleClass('mute')"></div>

    【讨论】:

    • 有效! :D 虽然图片切换效果消失了。有什么办法可以把我的按钮和这个结合起来吗?我没有javascript,所以只能用html5和CSS
    • 没有js?嗯...仅在使用服务器端代码回发时才可以在没有 js 的情况下更改按钮图像。
    • 我很抱歉,我实际上认为我需要购买一些东西才能使用 javascript,这是我的错。 Javascript很好:)虽然我不知道如何使用它
    • @DanielThorstensen 这里是按钮静音/取消静音图像切换的工作示例。警告:声音循环!
    • 我把它放到我的脚本上,轨道循环和自动播放等等,但是按钮没有出现。你能帮我把你的代码放在我的脚本中吗?谢谢
    猜你喜欢
    • 2011-12-09
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多