javascript - 在 HTML5 视频中切换隐藏式字幕并禁用默认视频控件

标签 javascript html html5-video closed-captions

我有两个问题。一旦我将轨道标签放入我的视频元素中,视频的默认 Controller 就会出现。我有自定义控件,所以这是个问题。

其次。我找不到关闭隐藏式字幕的方法。

HTML:

<video id="trailers" poster="images/poster/poster.jpg">
                <source src="media/vLast.mp4" type="video/mp4">
                <source src="media/vLast.webm" type="video/webm">
                <track id="mytrack" label="English Subtitles" src="subtitles.vtt" srclang="en" default />
 </video> 

 <button id="cc">CC</button>

JS:

  var cc = document.getElementById('cc');
function cc(){
       var video= document.getElementById('media');
       var track1 = video.textTracks[0];
       var mytrack = document.getElementById('mytrack');
       var track2 = mytrack.track;
       console.log(track1);
       console.log(track2);
    }
    cc.addEventListener('click',cc,false);

最佳答案

如果您删除对 controls 的任何引用在你的<video>应隐藏控件的标签(它们可能会在第一次加载时闪烁,但一旦加载视频,它们将保持隐藏状态)controls item 是 bool 值:如果存在则显示,如果不存在则不显示。

要显示和隐藏标题,您需要设置 mode如下所示“显示”或“隐藏”

<video autoplay loop id="v">
    <source src="Video.mp4" type="video/mp4">
    <track id="enTrack" src="entrack.vtt" label="English" kind="subtitles" srclang="en" default> 
    HTML5 video not supported
</video>
.
.
.  
<script>
.
v = document.getElementById("v")
v.textTracks[0].mode = "hidden";  // "showing" will make them reappear
    // if you want to show the controls
v.controls = true;
.
</script>

请注意,YMMV 作为不同的浏览器在字幕方面有不同的行为。这适用于 OSX 和 IE10 上的 Chrome/Safari(尽管在 Safari 和 IE 上注意模式的值为“0”表示隐藏,“2”表示显示,但使用文本设置它们似乎有效。尚未在 iOS 上测试

关于javascript - 在 HTML5 视频中切换隐藏式字幕并禁用默认视频控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14916914/

相关文章:

google-chrome - 视频无法在 Chrome 中循环和搜索

java - 自动生成的 javascript jax-rs 客户端

javascript - HTML5 桌面通知(最好是 Angular)

html - Flexbox 在 Opera 和 Safari 中导致意外换行

javascript - 如何覆盖 document.body 的不透明度?

video - libav/FFMPEG 以一种编码流式传输,另存为另一种编码

google-chrome - html5 视频无法在 chrome 上加载 - 有时

javascript - 使用 jQuery 和 Bootstrap 而不是使用基本的 HTML 创建数据表

javascript - 带有接口(interface)的 Typescript 类型定义嵌套命名空间

javascript - 如何使用 HTML 中的数据属性用数据库中的链接填充链接和图像源?