Videojs-marker:如何自定义特殊标记而不是使用一般 'markers'?
Videojs-marker: how can I customize a special marker rather than using general 'markers'?
我正在使用 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 添加特殊标记:每个动作的开始时间、结束时间和定义。然后这个标记会出现在时间轴上,我对这部分已经有了一些想法。所以现在,我只是想知道如何创建“标记”对象并设置其自己的“markerStyle”而不是使用“标记”class 并在此标记列表中输入新信息
markers: [
{time: 9.5, text: "p1",overlayText: 'attack', class: 'custom-marker'},
{time: 15, text: "p2",overlayText: 'defense'}
]
我是新来的,如果描述不清楚,请多多指教,谢谢!
我花了太多时间考虑宽度,所以我省略了一个属性:'duration'。解决方案很简单,只需在代码段中添加持续时间即可:
markers: [
{time: 9.5,duration:3, text: "p1",overlayText: 'attack', class: 'custom-marker'},
{time: 15, duration:2 ,text: "p2",overlayText: 'defense'}
]
我正在使用 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 添加特殊标记:每个动作的开始时间、结束时间和定义。然后这个标记会出现在时间轴上,我对这部分已经有了一些想法。所以现在,我只是想知道如何创建“标记”对象并设置其自己的“markerStyle”而不是使用“标记”class 并在此标记列表中输入新信息
markers: [
{time: 9.5, text: "p1",overlayText: 'attack', class: 'custom-marker'},
{time: 15, text: "p2",overlayText: 'defense'}
]
我是新来的,如果描述不清楚,请多多指教,谢谢!
我花了太多时间考虑宽度,所以我省略了一个属性:'duration'。解决方案很简单,只需在代码段中添加持续时间即可:
markers: [
{time: 9.5,duration:3, text: "p1",overlayText: 'attack', class: 'custom-marker'},
{time: 15, duration:2 ,text: "p2",overlayText: 'defense'}
]