jwplayer - 如何在播放前获取视频时长?

标签 jwplayer

我试图在 jwplayer 开始播放之前获取视频的持续时间。我尝试在onReady事件回调中调用getDuration(),但它返回-1。当我在 onPlay 事件回调中调用 getDuration () 时,我得到了正确的值。有什么想法吗?

这是我的代码:

<video src="movie.mp4" id="video" width="800" height="600"></video>
<script type="text/javascript">
jwplayer ('video').setup ({
    flashplayer: '/js/mediaplayer-5.10/player.swf',
    width: 600,
    height: 400,
    events: {
        onReady: function () {
            var duration = this.getDuration();
            alert ('ready, duration: ' + duration);
        },
        onPlay: function (state) {
            alert ('play, duration: ' + this.getDuration());
        }
    }
});
</script>

最佳答案

这大约是我处理这个问题的方式:

var duration = 0;
jwplayer().onReady(function() {
  if (duration == 0) {
    // we don't have a duration yet, so start playing
    jwplayer().play();
  }
});

jwPlayer().onTime(function() {
  if (duration == 0) {
    // we don't have a duration, so it's playing so we can discover it...
    duration = jwplayer().getDuration();
    jwplayer().stop();
    // do something with duration here
  } else {
    ...
  }
}

关于jwplayer - 如何在播放前获取视频时长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438047/

相关文章:

php - 刚下载的jwplayer,跟着setup,没有出现

c# - 非静态方法或字段错误需要一个对象

youtube - 为什么我的YouTube嵌入式jw播放器onseek事件在我的网站上不起作用(jwplayer 7)

Javascript API 不适用于 JW Player 5.9 上的 Chrome 或 Safari

javascript - 将 PHP 变量传递给 JwPlayer

javascript - 如何隐藏JWPlayer播放按钮?

embed - 如何自动启动jw播放器?

javascript - 在jwplayer中测试html5模式

javascript - jwplayer 音频无法在 Firefox 中工作抛出此错误日志 "No suitable players found and fallback enabled"