Vimeo Player API 提示点事件:未捕获类型错误:时间必须是数字

Posted

技术标签:

【中文标题】Vimeo Player API 提示点事件:未捕获类型错误:时间必须是数字【英文标题】:Vimeo Player API cuepoint event: Uncaught TypeError: Time must be a number 【发布时间】:2019-02-22 01:15:34 【问题描述】:

过去几天我对 Vimeo 的 cuepoint 事件没有任何问题,一切正常,我今天才开始注意到它。

这是一个简单的提示点触发器。

当视频的当前时间到达提示点时,它会做一些事情,在下面的示例代码中,我们将使用警报输出一些内容。

在google chrome Console上使用firebug,提示cuePoint添加成功,但是当视频到达cuepoint时,报错。

控制台截图:https://user-images.githubusercontent.com/42766598/45663523-898c3f80-bb39-11e8-8d87-4a4be84a3483.png

提示点添加成功,id:10333313-0233-4312-8013-111233103010

未捕获的类型错误:时间必须是数字。

测试页网址:http://rjlwebph.com/vimeo-cuepoint/test.html

下面是我的代码:

<html>
<head>
    <script src="https://player.vimeo.com/api/player.js"></script>
</head>

<body>
    <iframe src="https://player.vimeo.com/video/67449472?autoplay=1&title=0&byline=0&portrait=0"   frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
    
    <script>
    var iframe = document.querySelector('iframe');
    var player = new Vimeo.Player(iframe);

    var cueTime = 60;

    player.addCuePoint( cueTime, 
        customKey: 'customkey'
    ).then(function(id) 
        console.log('cue point added successfully, id: '+id);
    ).catch(function(error) 
        switch (error.name) 
    case 'UnsupportedError':
        console.log('cue points are not supported with the current player or browser: '+cueTime);
        // cue points are not supported with the current player or browser
        break;

    case 'RangeError':
        console.log('the time was less than 0 or greater than the video’s duration: '+cueTime);
        // the time was less than 0 or greater than the video’s duration
        break;

    default:
        console.log('some other error occurred: '+cueTime);
        // some other error occurred
        break;
        
    );

    player.on('cuepoint', function() 
        alert('cuePoint reached... '+cueTime);
    );

    </script>
</body>
</html>

【问题讨论】:

原来这个BUG是在Vimeo的播放器API上,有几个人能够重现这个问题。它被标记为一个错误,他们能够修复它,今天对其进行了测试,现在它正在工作。 【参考方案1】:

这是 Vimeo 端的一个错误,现已解决:https://github.com/vimeo/player.js/issues/318#issuecomment-422447186

【讨论】:

以上是关于Vimeo Player API 提示点事件:未捕获类型错误:时间必须是数字的主要内容,如果未能解决你的问题,请参考以下文章

Vimeo 嵌入完成时显示元素

HTML5 中的 Vimeo 视频播放器

使用 YouTube iframe API 触发简单事件/使用 player.getCurrentTime 同步事件

仅隐藏喜欢,观看和分享vimeo视频

Android YouTube Player API Fragment无法手动处理触摸事件

风格 vimeo 播放栏和播放按钮