在播放器之外显示字幕

我想在jwplayer之外显示字幕。 我们可以在玩家皮肤上有一个单独的部门,并且有副标题的单独位置吗? 我不希望字幕显示在video中,但我们希望字幕位于播放器外部的单独位置。 是否可以使用JWplayer? (或任何球员)

我将使用JWplayer这样做,所以请告诉答案,记住这是紧急的。 如果有任何代码或逻辑,或者我正在使用JWplayer,我会非常感激,但任何帮助都会非常明显。

从这个页面上的例子开始。 字幕被添加到自己的div中,该div具有.videosubbar类。 所以你可以简单地添加自己的样式。

因此,对于上面的示例,我添加了简单的旧样式,以便将字幕框移出video帧。 但我必须使用!important来覆盖从javascript文件添加的内联样式。

例如

 .videosubbar{ bottom:-100px!important; // etc. } 

或者,您也可以编辑插件的来源,以便首先调整字幕的位置。

来自这个JS文件。

定位触控笔从线92-104添加,其位于下方。

 $VIDEOSUB(subcontainer).css({ 'position': 'absolute', 'bottom': '34px', 'width': (videowidth-50)+'px', 'padding': '0 25px 0 25px', 'textAlign': 'center', 'backgroundColor': 'transparent', 'color': '#ffffff', 'fontFamily': 'Helvetica, Arial, sans-serif', 'fontSize': fontsize+'px', 'fontWeight': 'bold', 'textShadow': '#000000 1px 1px 0px' }); 

使用您发送给我的其他链接,它与上面的方法相同,但在不同的插件之间,字幕容器的id和类明显不同。 在另一个例子中,容器的类是.mejs-captions-layer

我建议使用fireBug或其他开发人员工具检查字幕容器并根据需要自由移动它。

嗨,感谢Ethan和vletech帮我解决了这个问题,我正在添加我的代码,以便它可以帮助社区

我只是使用!important来覆盖内联CSS

为了更好地理解我添加了标题分区的分区和类名

/ ID /

 #player_caption div{width:100% !important;text-align:center !important;left:0 !important;} 

/ CLASS /

 .jwcaptions{ position:absolute;bottom:0px;border:solid 2px #333; -moz-border-radius: 15px;opacity:0.7;width:100% !important;bottom:0% } 

你可以拥有自己的CSS我只是在css的初学者,所以如果上面的代码中断或你不能看到你希望他们看到的标题…别担心;)使用firebug或检查元素你可以很容易找到jwcaptions的正确位置

最近我找到了更好的方法,我们可以使用jquery webvtt来解析webvtt文件并在自己的div中显示它。 ( Jquery Webvtt )

 jwplayer('video_id').onTime(function(){ var play_position = jwplayer("video_id").getPosition(); var hr = parseInt(( play_position / 3600 ) % 24); hr = checkTime(hr); var min = parseInt(( play_position / 60 ) % 60); min = checkTime(min); var sec = parseInt((play_position % 60)); sec = checkTime(sec); var hrTotal = parseInt(( videoLength_s / 3600 ) % 24); hrTotal = checkTime(hrTotal); var minTotal = parseInt(( videoLength_s / 60 ) % 60); minTotal = checkTime(minTotal); var secTotal = parseInt((videoLength_s % 60)); secTotal = checkTime(secTotal); $('#ci_current_position_'+id).text(hr+':'+min+':'+sec); $('#ci_video_time_'+id).text(hrTotal+':'+minTotal+':'+secTotal); var position = hr+":"+min+":"+sec+".000"; $('#ci_caption_'+id).html($("#en_"+id).webVtt(position)); })