我正在尝试为常规HLS视频流创建可访问的<video>
元素。但是,我注意到,没有跨浏览器的方法可以指定多个音轨并在它们之间进行有效切换,就像隐藏式字幕一样。
我已经考虑过audioTrack
属性,但是在许多浏览器中都无法使用。我也尝试过mediaGroup
,它也不兼容跨浏览器。
我见过的唯一可行的方法是video.js
(https://docs.videojs.com/docs/guides/audio-tracks.html),但我想知道是否有一种无需引入此库的方法。
奇怪的是,如果没有库,您将无法做到这一点。
最终目标是在所有(大多数)浏览器中以编程方式切换HTML5视频上不同语言音频的音轨。
答案 0 :(得分:0)
如果我对您的理解正确,则希望能够在视频轨道上的语言之间进行切换。我发现这段代码具有主要的英语音轨,并允许您在英语和法语之间切换。您可以在https:gingertech.net
上了解更多信息。<video id="v1" poster=“video.png” controls>
<source src=“video.ogv” type=”video/ogg”>
<source src=“video.mp4” type=”video/mp4”>
</video>
<script type="text/javascript">
video = document.getElementsByTagName("video")[0];
for (i=0; i < video.audioTracks.length; i++) {
if (video.audioTracks[i].language.substring(0,2) === "fr") {
video.audioTracks[i].enabled = true;
} else {
video.audioTracks[i].enabled = false;
}
}
</script>