将带有单独音频的静音视频加载到 HTML5 视频标签中
Loading a mute video with a separate audio into a HTML5 video tag
我需要将静音视频和音频文件加载到同一个 html5 视频标签中。我试图找到这个,但我只找到了关于音频标签的文本,这不是我要找的。
我需要这样的东西:
<video controls="controls" poster="poster.jpg" width="640" height="360">
<source src="08_gestao_documental_autoridades_brasileiras_SEM_AUDIO.mp4" type="video/mp4">
<source src="autoridades_brasileiras.mp3" type="audio/mp3">
</video>
那不是 source
的工作方式。 source
元素是真正的替代品:如果浏览器不支持一个,它将转到下一个,直到到达支持和播放的一个,然后只有那个会播放(其他的将是 忽略)。
您不能在同一 video
/audio
标签下同时播放两个来源(视频和音频)。正如您在网上发现的那样,如果您想要两个媒体元素(静音视频和音频),您将需要两个媒体标签。
然后,至少在理论上(如果我没有误解的话),您可以使用 mediagroup
来控制和同步 audio
和 video
元素,因此它们是一起流式传输;但是 mediagroup
没有得到很好的支持……或者至少我没能让它工作,但你可能想研究一下,因为正如我所说,我可能误解了它的工作原理:- S
另一种解决方案是将 audio
放在 video
中(作为后备代码),然后使用 JavaScript 同步它们。像这样:
<video id="myvideo" controls muted>
<source src="path/to/video.mp4" type="video/mp4" />
<audio id="myaudio" controls>
<source src="path/to/audio.mp3" type="audio/mpeg"/>
</audio>
</video>
<script>
var myvideo = document.getElementById("myvideo");
var myaudio = document.getElementById("myaudio");
myvideo.onplay = function() { myaudio.play(); }
myvideo.onpause = function() { myaudio.pause(); }
</script>
我需要将静音视频和音频文件加载到同一个 html5 视频标签中。我试图找到这个,但我只找到了关于音频标签的文本,这不是我要找的。
我需要这样的东西:
<video controls="controls" poster="poster.jpg" width="640" height="360">
<source src="08_gestao_documental_autoridades_brasileiras_SEM_AUDIO.mp4" type="video/mp4">
<source src="autoridades_brasileiras.mp3" type="audio/mp3">
</video>
那不是 source
的工作方式。 source
元素是真正的替代品:如果浏览器不支持一个,它将转到下一个,直到到达支持和播放的一个,然后只有那个会播放(其他的将是 忽略)。
您不能在同一 video
/audio
标签下同时播放两个来源(视频和音频)。正如您在网上发现的那样,如果您想要两个媒体元素(静音视频和音频),您将需要两个媒体标签。
然后,至少在理论上(如果我没有误解的话),您可以使用 mediagroup
来控制和同步 audio
和 video
元素,因此它们是一起流式传输;但是 mediagroup
没有得到很好的支持……或者至少我没能让它工作,但你可能想研究一下,因为正如我所说,我可能误解了它的工作原理:- S
另一种解决方案是将 audio
放在 video
中(作为后备代码),然后使用 JavaScript 同步它们。像这样:
<video id="myvideo" controls muted>
<source src="path/to/video.mp4" type="video/mp4" />
<audio id="myaudio" controls>
<source src="path/to/audio.mp3" type="audio/mpeg"/>
</audio>
</video>
<script>
var myvideo = document.getElementById("myvideo");
var myaudio = document.getElementById("myaudio");
myvideo.onplay = function() { myaudio.play(); }
myvideo.onpause = function() { myaudio.pause(); }
</script>