javascript - HTML5视频,没有音轨怎么检测?

标签 javascript html

我正在制作一个 chrome 应用程序,我想对视频播放进行自定义控制,但我在使用静音按钮时遇到了一些困难。大多数将在应用程序中播放的视频都是无声的,因此我希望能够在没有音轨时禁用该按钮,就像 chrome 使用默认控件所做的那样。

尝试使用音量值但它返回“1”,即使没有音轨。检查视频是否静音也没有用。

这是一个 snippet .

有什么建议吗?

最佳答案

根据 upuoth 的答案缩短功能并扩展以支持 IE10+

function hasAudio (video) {
    return video.mozHasAudio ||
    Boolean(video.webkitAudioDecodedByteCount) ||
    Boolean(video.audioTracks && video.audioTracks.length);
}

用法:

var video = document.querySelector('video');
if(hasAudio(video)) {
    console.log("video has audio");
} else{
    console.log("video doesn't have audio");
}

关于javascript - HTML5视频,没有音轨怎么检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21270048/

相关文章:

javascript - 成功 ? 'sent' : 'failed' defaults to 'sent' for success = null. 为什么?

javascript - 转义 Ajax URL 中的正斜杠/for 变量

javascript - 使用 AJAX 实时搜索栏时出现“ERR_EMPTY_RESPONSE”

javascript - 将 PHP 变量传递给 JavaScript 以在 jQuery.ajax 中使用

javascript - 为此选项卡式 angularjs 页面加载 html 页面

javascript - 也可以在边框上应用背景 - Javascript/CSS

javascript - 删除重复代码

Javascript 返回错误行为是怎么回事?

html - 线性渐变不适用于 div

html - 响应式 div 扩展到另一个 div