使用特定类的元素将所有声音静音

时间:2013-12-27 23:04:50

标签: javascript jquery html html5-audio

我想知道如何将特定div类中的所有音频静音。这主要是为了在我的网站上播放意外视频或商业广告的广告。我将div类下的所有广告“静音”,所以我想将这些div静音,但仍允许YouTube视频(显然在div之外)播放音频。

3 个答案:

答案 0 :(得分:2)

这可能是不可能的。大多数广告网络通过iframe运行广告。由于这些框架中包含的文档将托管在其他域中,因此在您的域上运行的脚本无法访问它们。此外,大多数使用声音的广告很可能是使用Flash播放这些声音,我认为你根本不能将其静音或阻止从Javascript自动播放,而不是完全删除它们(这可能会破坏你与广告网络的协议)。

您最好的选择可能是找到一个更好的广告网络,不会使用自动播放声音/视频投放广告。

答案 1 :(得分:2)

这会将每个元素中的所有<audio><video>元素设为muted类:

$(function(){
  $('.muted').find('audio, video').each(function(){
    this.volume = 0;
  });
});

以下是一个实例:http://jsbin.com/iYiWaPi/edit

答案 2 :(得分:-1)

使用jQuery,你可以做到:

$( document ).ready(function() { $(".muted").muted = true; });