如何使用HTML5视频持续时间的值获得变量

时间:2016-06-04 15:09:25

标签: javascript html5 video

我有这种结构,并且在要求控制台记录“已加载的元数据”中的变量时,我总是得到正确的持续时间号码,但在这些听众之外,它始终为0表示dur1和dur2。

HIMAGELIST

代码示例:http://cdpn.io/e/dXomLX

显然,我通常想在这些事件监听器之外使用变量。 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

你需要做三次改变......

  1. 将dur1和dur2的var声明移到文档就绪函数之外,以便它们随处可用:

    var dur1 = dur2 = dur3 = 0;
    $(document).ready(function() {
        var video1 = $('.video1'),
        video2 = $('.video2');
    
  2. 不要将它们声明为loadedmetadata函数中的var:

    dur1 = video1[0].duration;
    
  3. 不要尝试立即显示它们(正如您当前的“外部”那样),因为它到达该代码并在元数据加载函数有机会运行之前显示初始值。您可能希望设置一个标志以指示元数据已加载,或者只是依赖于计时器

    setTimeout('console.log(\'outside: \' + dur1, dur2)', 1000);