javascript - 如何检查多个HTML5视频的音频

标签 javascript html audio video

我正在尝试检查多个视频是否有音频,例如:
https://jsfiddle.net/hrd4a0c3/

但这只会检查一个视频,我希望它能检查多个视频。

document.getElementById("myVideo").addEventListener("loadeddata", function() {
  if (typeof this.webkitAudioDecodedByteCount || this.mozHasAudio || this.audioTracks !== "undefined") {
    if (this.webkitAudioDecodedByteCount > 0 || this.mozHasAudio || this.audioTracks && this.audioTracks.length)
      this.after("has audio");
    else
      this.after("no audio");
  }
});

最佳答案

我将使用class而不是id,因为id应该引用一个元素。

<video class='myVideo' autoplay loop muted>
  <source src="https://vtt.tumblr.com/tumblr_ok41s7Iebh1t4fjz0_480.mp4" type="video/mp4">
</video>

<video class='myVideo' autoplay loop muted>
  <source src="https://vtt.tumblr.com/tumblr_ok44bpZZka1t4fjz0_480.mp4" type="video/mp4">
</video>

然后,您可以像这样使用 getElementsByClassName :
var videos = document.getElementsByClassName("myVideo");

for (i = 0; i < videos.length; i++) {
  videos[i].addEventListener("loadeddata", function() {
    if (typeof this.webkitAudioDecodedByteCount || this.mozHasAudio || this.audioTracks !== "undefined") {
      if (this.webkitAudioDecodedByteCount > 0 || this.mozHasAudio || this.audioTracks && this.audioTracks.length)
        this.after("has audio");
      else
        this.after("no audio");
    }
  });
}

更新了Fiddle

关于javascript - 如何检查多个HTML5视频的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45433222/

相关文章:

javascript - 动态搜索输入作为密码变量

javascript - 两个字段之间的交叉计算

html - 将多个元素设置到固定位置

html - 如何防止H3之前换行?

javascript - HTML5音频库——如何获取音乐表的平均值

javascript - 来自后端的 javascript 值中的星级

javascript - jQuery 在页面上设置单选按钮

python请求和beautifulsoup bot检测

javascript - 通过PHP请求特定音频文件的方法比这种方法更简单吗?

c# - 具有C#或同等功能的Arduino音频频谱