javascript - Videojs 标记 : how can I customize a special marker rather than using general 'markers' ?

标签 javascript html video.js

我正在使用 videojs-marker 插件 ( http://www.sampingchuang.com/videojs-markers ) 来构建一个自定义播放器,用户可以通过它来注释(命名一个人的 Action )视频的某些部分(不仅仅是一个点),所以我的计划就是让每一个marker都有合适的宽度(这样就可以覆盖这个 Action 的持续时间),以及overlay text合适的显示时间。

<script>
var player = videojs("my-video", {
    controls: true,
    autoplay: false,
    preload: 'auto',
...
player.markers({
       markerStyle: {
          'width':'10px',
          'border-radius': '30%',
          'background-color': '#009DE0'
       },
       markerTip:{
          display: true,
          text: function(marker) {
             return marker.text;
          },
          time: function(marker) {
             return marker.time;
          }
       },
       breakOverlay:{
          display: true,
          displayTime: 1,
          style:{
             'width':'100%',
             'height': '20%',
             'background-color': 'rgba(0,0,0,0.7)',
             'color': 'white',
             'font-size': '17px'
          },
          text: function(marker) {
             return marker.overlayText;
          }
       },
       onMarkerClick: function(marker) {},
       onMarkerReached: function(marker) {},
         markers: [
         {time: 9.5, text: "1",overlayText: 'attack', class: 'custom-marker'},
         {time: 15, text: "2",overlayText: 'defense'}
         ]

        });
...

因此,用户将通过输入以下信息来操纵另一个 div 添加特殊标记:每个操作的开始时间、结束时间和定义。然后这个标记会出现在时间轴上,我对这部分已经有了一些想法。所以现在,我只是想知道如何创建“标记”对象并设置其自己的“markerStyle”而不是使用“标记”类并在此标记列表中输入新信息

markers: [
     {time: 9.5, text: "p1",overlayText: 'attack', class: 'custom-marker'},
     {time: 15, text: "p2",overlayText: 'defense'}
     ]

我是新来的,如果描述不清楚,请多多指教,谢谢!

最佳答案

我花了太多时间考虑宽度,所以我省略了一个属性:“持续时间”。解决方案很简单,只需将持续时间添加到代码段即可:

markers: [
 {time: 9.5,duration:3, text: "p1",overlayText: 'attack', class: 'custom-marker'},
 {time: 15, duration:2 ,text: "p2",overlayText: 'defense'}
 ]

关于javascript - Videojs 标记 : how can I customize a special marker rather than using general 'markers' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56345835/

相关文章:

html - 为什么当浏览器大小改变时我的列不调整大小

javascript - 如何从highlight.js元素获取纯文本?

java - Android Webview 中的 Html 音频

javascript - 视频库出现 Uncaught TypeError : $(. ..).lightGallery 不是函数

html - video.js 视频播放器是否支持 youtube 视频?

javascript - Reactjs:未捕获错误:尝试更新状态时超出最大更新深度

javascript - 在所有调用中的 $.post() 之前 Hook 附加数据

javascript - 缓存选择器在幕后是如何工作的

javascript - 如何从 ExtJs 中的 DateField 获取日期

Azure blob 流视频 - ASP.NET MVC