所以我一直盯着这个问题。以下代码查看视频,并确定其实际播放的声音,还是只是静音。如果它是静音的,我想循环它,所以它基本上像GIF一样。
控制台准确记录声音检查。我一直在检查。
但无论如何都会运行下一段代码(将循环应用于视频)。它用声音循环播放视频,我不知道为什么。
<script type="text/javascript">
document.getElementById("my-video_html5_api").addEventListener("loadeddata", function() {
if (typeof this.webkitAudioDecodedByteCount !== "undefined") {
// non-zero if video has audio track
if (this.webkitAudioDecodedByteCount > 0)
console.log("video has audio");
else
console.log("video doesn't have audio");
var vid = document.getElementById("my-video_html5_api");
vid.loop = true;
}
else if (typeof this.mozHasAudio !== "undefined") {
// true if video has audio track
if (this.mozHasAudio)
console.log("video has audio");
else
console.log("video doesn't have audio");
var vid = document.getElementById("my-video_html5_api");
vid.loop = true;
}
else
console.log("can't tell if video has audio");
});
</script>
任何帮助?
答案 0 :(得分:1)
修复你的牙箍。每个“if”和“else”结果都需要用大括号括起来。
从技术上讲,单线块没有,但这是一个很好的做法。必须包装多个行块,否则它们将进行评估。特别是,我正在查看几个没有任何括号的/**
行!