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

2023-11-21

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

第二。我找不到打开和关闭隐藏字幕的方法。

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>应保持控件隐藏的标签(它们可能会在首次加载时闪烁,但一旦加载视频,它们将保持隐藏状态)controlsitem 是布尔值:如果存在则显示,如果不存在则不会显示。

要显示和隐藏标题,您需要设置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 上进行测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 HTML5 视频中切换隐藏式字幕并禁用默认视频控件 的相关文章

随机推荐

  • 如何在共享主机上安装 Composer?

    我有这些东西 文件http api odtu lu composer phar http api odtu lu phpinfo php FTP 访问 cPanel FreeBSD 上的 Cron 作业 PHP Perl CGI BIN P
  • Python 相当于 Ruby 的 .select

    我有一个列表 数组 我们称之为x 我想创建一个新的列表 数组 我们称之为这个z 从元素中x符合某种条件 在 Ruby 中 您可以通过调用列表 数组上的 select 方法来做到这一点 如下所示 x 1 2 3 4 5 6 7 8 9 10
  • 延迟加载单例:双重检查锁定与按需初始化持有者习惯用法

    我需要在并发环境中延迟加载资源 加载资源的代码应该只执行一次 Both 双重检查锁定 使用 JRE 5 和 volatile 关键字 和按需初始化持有者习惯用法似乎很适合这份工作 仅通过查看代码 按需初始化持有者习惯用法似乎更干净 更高效
  • Android onTouch 与 onClick 和 onLongClick

    我有一个自定义视图 其作用类似于按钮 我想在用户按下它时更改背景 当用户将手指移到外面或释放它时将背景恢复为原始状态 我还想处理 onClick onLongClick 事件 问题是 onTouch 要求我返回 trueACTION DOW
  • asp.net 5 mvc 6 loginUrl更改路径

    在 VS 2015 WebApplication 中创建新项目时 如果未授权 您将如何更改重定向登录 URL 路径 我创建了一个新区域 在其中创建了一个登录控制器 此登录控制器要求您获得授权 但是当尝试访问这些页面时 我被重定向到 Acco
  • UIViewContentMode模式指的是什么类型的内容?

    根据 UIView 的官方文档contentMode财产 The content mode specifies how the cached bitmap of the view s layer is adjusted when the v
  • 将操作栏更改为从 Fragment 内覆盖

    我有一个片段 片段 1 它被另一个片段 片段 2 替换 片段 1 被放置在堆栈上 我正在使用兼容模式 不是 ActionBarSherlock 这是我的问题 我希望操作栏在某些片段中显示为叠加 但在其他片段中则不然 具体来说 当显示片段 2
  • Ruby:在结构体中定义常量的语法

    考虑以下 正确的 Ruby 程序 class Outer Inner Struct new dummy do CONST abce def fun puts dummy end end end obj Outer Inner new 15
  • 最难逆向的 JavaScript 混淆器 [重复]

    这个问题在这里已经有答案了 我正在寻找目前最难逆向的 JavaScript 混淆器 如果它可以在自己的服务器上运行 则会加分 性能下降和代码膨胀都很好 用 Java 编写 然后使用混淆后的 JavaScript 运行字节码orto 这需要两
  • 如何将 Enum 的成员放入全局命名空间?

    Python 现在有一个 Enum 类型 3 4 中新增 与 PEP 435 还有向后移植 虽然命名空间是一件好事 但有时枚举更像常量 并且枚举成员应该位于全局 呃 模块 命名空间中 所以而不是 Constant Enum PI 3 14
  • JavaMail 与 MS Exchange:服务器和客户端均不支持身份验证机制

    我已经尝试从 Grails 应用程序发送邮件好几天了 但没有成功 我在用着 圣杯 1 3 7 邮件1 0插件 spring security core 1 2 6 插件 雄猫7 0 23 具体来说 我尝试从 Tomcat 服务器上部署的应用
  • 如何使用Vuejs在html中显示mysql blob图像?

    我有一个这样的 vue 文件 export default data return info name image errors created function this getInfo methods getInfo function
  • 应用程序 yml 属性的 Spring SpEL 表达式求值

    我正在尝试使用 Spring SpEL 表达式派生 application yml 配置文件中的属性值 但看起来该表达式没有被评估 这是我的 application yml 片段 spring profiles local cloud cl
  • Python 2.7 & ANTLR4:使 ANTLR 在无效输入时抛出异常

    我想捕获像这样的错误 line 1 1 extraneous input r n expecting line 1 1 mismatched input Vaasje expecting Tafel 我尝试将我的函数包装在 try catc
  • RuntimeError:针对 API 版本 a 编译的模块,但此版本的 numpy 是 9

    Code import numpy as np import cv Console gt gt gt runfile Users isaiahnields spyder2 temp py wdir Users isaiahnields sp
  • 从 Android Wear 心率传感器读取底层颜色/灯光数据?

    我想读取 Android Wear 智能手表上的心率传感器数据 这文档看起来心率传感器只报告两件事 心率 每分钟心跳次数 准确度测量或错误代码 是否可以获取Android Wear心率传感器的底层数据 即红光量 或绿光或蓝光 在任何时间点
  • 使用data.table在每组数据后面插入一行NA

    我试图在每组数据之后添加一行 NAR 之前已经有人问过类似的问题 每组数据后插入一个空行 在这种情况下 接受的答案也可以正常工作 如下所示 group lt c a b b c c c d d d d xvalue lt c 16 25 y
  • 按时间取消任务

    我有一个多线程应用程序 我需要在一定时间后取消每个任务 即使在取消时 它们使用非托管资源 现在我使用以下代码 例如控制台应用程序 在实际应用中 延迟可能发生在非托管资源中 static void Main for int i 0 i lt
  • 如何在 Android Studio 中将 CSV 文件解析为数组

    我想知道如何解析 CSV 文件并将内容存储到数组中 我的 csv 文件看起来像这样 1 bulbasaur 1 7 69 64 1 1 2 ivysaur 2 10 130 142 2 1 我只想要名字 所以第二个字段 我想将 csv 中的
  • 在 HTML5 视频中切换隐藏式字幕并禁用默认视频控件

    我有两个问题 一旦我将轨道标签放入视频元素中 视频的默认控制器就会显示 我有自定义控件 所以这是一个很大的问题 第二 我找不到打开和关闭隐藏字幕的方法 HTML