Javascript 获取HTML5视频标签的当前播放类型
有没有办法找出应用于视频元素的SRC是否包含音频、视频或两者?我将其用于媒体播放器,但希望确定视频元素何时可见,或音频频谱何时显示。Javascript 获取HTML5视频标签的当前播放类型,javascript,html,html5-video,Javascript,Html,Html5 Video,有没有办法找出应用于视频元素的SRC是否包含音频、视频或两者?我将其用于媒体播放器,但希望确定视频元素何时可见,或音频频谱何时显示。 (顺便说一句,我想用javascript实现这一点)您可以在触发onloadedmetadata事件后检查视频元素的videoWidth/videoHeight属性。如果它等于0,则它没有视频曲目 Webkit还支持webkitVideoDecodedByteCount和webkitAudioDecodedByteCount属性,但这对其他浏览器没有帮助 当然,您
(顺便说一句,我想用javascript实现这一点)您可以在触发
onloadedmetadata
事件后检查视频元素的videoWidth
/videoHeight
属性。如果它等于0
,则它没有视频曲目
Webkit还支持webkitVideoDecodedByteCount
和webkitAudioDecodedByteCount
属性,但这对其他浏览器没有帮助
当然,您总是通过检查src的扩展名来查询文件类型:
- 如果(mp3 | oga |等)->仅假设音频
- 如果(mp4 | ogv | webm |等)->假设视频
元素将播放其中一个,因此您可以直接使用它。然后在触发loadedmetadata
后检查videoWidth
(或者如果.readyState>0
,则在附加事件侦听器之前加载元数据)
如果您发现没有视频曲目,则需要隐藏或至少收缩视频元素。最好是编写自己的控件,这样它们就不会看起来很奇怪。关于扩展名,这是我第一次这么做的,但这对此类文件不起作用。我已经有了控制装置,只是把一切都藏起来了