视频文件添加字幕

起因:最近看了下mdn的video文章,看到一个有趣的知识点,居然可以自己手动给视频添加字幕

先上代码:

<body>
    <figure id="videoContainer" data-fullscreen="false">
    <video id="video" controls preload="metadata">
      <source src="./sintel-short.mp4" type="video/mp4"></source>
      <track label="Chinese" kind="subtitles" srclang="en" src="./cn.vtt" >
      <track label="English" kind="subtitles" srclang="en" src="./en.vtt" >
    </video>
  </figure>
  <button id="cn">仅中文</button>
  <button id="en">仅英文</button>
  <button id="double">双语</button>
    <script>
		var video = document.getElementById('video');
    console.log('video: ', video.textTracks);
    for (let index = 0; index < video.textTracks.length; index++) {
      const element = video.textTracks[index];
      element.mode='showing'
    }
    let cn = document.getElementById('cn')
    let en = document.getElementById('en')
    let double = document.getElementById('double')
    cn.addEventListener('click',()=>{
      video.textTracks[0].mode = 'showing'
      video.textTracks[1].mode = 'hidden'
    })
    en.addEventListener('click',()=>{
      video.textTracks[0].mode = 'hidden'
      video.textTracks[1].mode = 'showing'
    })
    double.addEventListener('click',()=>{
      for (let index = 0; index < video.textTracks.length; index++) {
      const element = video.textTracks[index];
      element.mode='showing'
    }
    })
    </script>
  </body>

主要依据的是video属性来的。

.vtt文件,可以有专门的网站转换字幕,这里我直接拿的官网文件

最重要的一问题,html直接在浏览器运行的时候,字幕是不展示的,百度了一下找到了解决问题:

vscode安装Live serve插件,然后右键选择open with LIve  serve 即可

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值