0

您好,我目前正在开发 HTML5 Jquery 视频播放器。在这里您可以获得有关此 HTML 视频播放器的更多信息:http: //www.videojs.com/docs/api/

从此链接中,您可以看到myPlayer.duration()该功能必须以秒为单位显示视频时长。就是这样,我只想在简单的 HTML 页面中显示这个值,就像我正在尝试使用我的代码一样。

这是我的代码:

 <head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
</head>
  <video id="vemvo-player" class="video-js vjs-default-skin" controls autoplay="true" width="950" height="534"
      data-setup="{}">
    <source src="[var.base_url]/uploads/[var.video_play]" type='video/flv' />
  </video>
<div id="duration"></div>
<script type="text/javascript">
        var myPlayer = _V_("vemvo-player");
    _V_("vemvo-player").ready(function(){
        var howLongIsThis = myPlayer.duration();
        $('#duration').html('Duration: ' + howLongIsThis);
    });
</script>

此代码的问题在于它显示Duration: 0视频持续时间远离 0 时。

我的视频播放器工作正常,并且可以正确显示视频的持续时间。我的问题是如何在 HTML 页面值中显示此持续时间?

使用上面的代码,当我发布var myPlayer = _V_("vemvo-player");_V_("vemvo-player").ready(function(){函数并尝试在控制台中运行myPlayer.duration()时,它给了我未定义变量的错误,但是当var myPlayer = _V_("vemvo-player");它在我的帖子中的函数之外并且我myPlayer.duration()在控制台中输入时,它给了我以秒为单位的持续时间就像我需要它一样。

问题是我可以在 HTML 页面中将此变量显示为数字。我只想在 HTML 页面中显示这个数字。

我的代码中的错误在哪里,我该如何解决?

提前致谢!

4

2 回答 2

2
<script type="text/javascript">
var myPlayer = _V_("vemvo-player");
_V_("vemvo-player").ready(function(){
   // Any ready/init code you want here
   $('#duration').html('Duration: ');        
});
myPlayer.addEventListener('loadedmetadata', function() {
    $('#duration').html('Duration: ' + myPlayer.duration);
});
</script>

资源

于 2013-11-11T20:32:23.140 回答
0

您是否尝试过将变量声明保留在函数外部,而将赋值保留在内部?

<script type="text/javascript">
    var myPlayer;
    _V_("vemvo-player").ready(function(){
        myPlayer = _V_("vemvo-player");
        var howLongIsThis = myPlayer.duration();
        $('#duration').html('Duration: ' + howLongIsThis);
    });
</script>
于 2013-11-11T20:27:26.230 回答