我正在使用videojs-marker插件(http://www.sampingchuang.com/videojs-markers(来构建一个自定义播放器,用户可以通过该播放器注释(命名一个人的动作(视频的某些部分(而不仅仅是一个点(,所以我的计划是使每个标记都有其适当的宽度(因此它可以覆盖此操作的持续时间(以及覆盖文本的适当显示时间。
<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以添加特殊标记:每个操作的开始时间,结束时间和定义。然后这个标记将显示在时间轴中,我已经对这部分有一些想法。所以现在,我只是想知道如何创建"标记"对象并设置自己的"标记样式",而不是使用"标记"类并在此标记列表中输入新信息
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'}
]