显示来自 videoJS 的视频时长

use*_*725 2 javascript video jquery video.js

我正在使用 jQuery 开发 HTML5 视频播放器。现在我的视频播放器工作得很好,但我想获取视频持续时间的变量并在纯 HTML 页面中显示/显示它。

因此,从这里您可以获取有关此 Jquery 视频播放器的更多信息: http://www.videojs.com/docs/api/

我认为视频持续时间的变量是:myPlayer.duration();

如何在 HTML 中显示该值?

这是我用来显示播放器的 HTML 代码:

  <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>
Run Code Online (Sandbox Code Playgroud)

这就是我试图显示这个变量的内容,但它说它=“0”,而在视频播放器上它说它是4分钟:

  <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">
    _V_("vemvo-player").ready(function(){
        var myPlayer = this;
        var howLongIsThis = myPlayer.duration();
        $('#duration').html('Duration: ' + howLongIsThis);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我的错误在哪里?

Pre*_*wal 6

你可以试试这个。这个对我有用。

var myPlayer = videojs('vemvo-player');

    if (myPlayer.readyState() < 1) {
        // wait for loadedmetdata event
        myPlayer.one("loadedmetadata", onLoadedMetadata);
    }
    else {
        // metadata already loaded
        onLoadedMetadata();
    }
    
    function onLoadedMetadata() {
        alert(myPlayer.duration());
        $('#duration').html("Duration: " + myPlayer.duration());
    }
Run Code Online (Sandbox Code Playgroud)