javascript - 使用 jQuery 将所有 <audio> 元素静音

标签 javascript jquery html audio

问题描述 ( Fiddle ):

我正在尝试迭代页面上的所有元素并使用 jQuery 将它们静音。 jQuery 是否不能很好地处理 HTML5 音频,或者有更好的方法吗?

代码:

$('#sound1').click(function() {
    var sound1 = new Audio();
    sound1.src = "http://sounddogs.com/previews/4006/mp3/209105_SOUNDDOGS__up.mp3"
    sound1.play();
});

$('#sound2').click(function() {
    var sound2 = new Audio();
    sound2.src = "http://sounddogs.com/previews/4023/mp3/210622_SOUNDDOGS__do.mp3"
    sound2.play();
});

$('#mute').click(function() {
    $('audio').each(function(i) {
        this.volume = 0;
    });
});

最佳答案

对播放的音乐对象使用音量控制,如下所示

DEMO

更新

您可以创建数组 tracks[] 并将播放的音频存储到其中,并在单击静音时将所有这些音频静音。像这样的东西。

var tracks = [];
$('#sound1').click(function() {
    sound1 = new Audio();
    sound1.src = "http://sounddogs.com/previews/4006/mp3/209105_SOUNDDOGS__up.mp3"
    sound1.play();
    tracks.push(sound1);
});

$('#sound2').click(function() {
     sound2 = new Audio();
    sound2.src = "http://sounddogs.com/previews/4023/mp3/210622_SOUNDDOGS__do.mp3"
    sound2.play();
    tracks.push(sound2);
});

$('#mute').click(function() {
    for(var i=0; i<tracks.length; i++){
        tracks[i].volume = 0;
    }
});

关于javascript - 使用 jQuery 将所有 <audio> 元素静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22271328/

相关文章:

javascript - 在javascript中单击文本时如何获取字符位置

javascript - 如果是移动设备则更改背景图片

javascript - 有人愿意看一下这个自定义滚动条的 JS 代码吗?

html - 无法垂直和水平拉伸(stretch) css div 100%

javascript - 如何使用 Nerdamer.js 获得正确的解决方案

javascript - Cordova + Angularjs - 为什么从回调内部调用的 $resource(或 $http)给出 404?

javascript - "jQuery(selector)"和 "$(selector)"和有什么区别?

javascript - jQuery:更改div id,提供不同的点击功能

javascript - Vue.js 变量变为未定义

javascript - Observable 给出多个值