【问题标题】:Vimeo player time tracking using script使用脚本的 Vimeo 播放器时间跟踪
【发布时间】:2019-06-21 06:17:34
【问题描述】:

我正在从 Vimeo 服务器检索视频以在我的网站上播放课程视频。单击标签时,我会在弹出窗口中播放视频。

<a class="btn btn-primary btn-lg popup-vimeo btn-video" href="<?php echo 'https://player.vimeo.com/video/' . $vdoid; ?>">
   <i class="fa fa-play" aria-hidden="true" style="font-weight:600;" id="<?php echo "vdo_" . $vv; ?>"></i></a>

现在我想使用脚本跟踪视频当前时间。但是在点击该标签时,它会加载一个单独的视图页面(在检查时)作为弹出窗口。

我尝试跟踪播放器并从播放器获取当前播放时间,并尝试使用此脚本。

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

<script>
$(document).on('click', '.btn-video', function ()
{
    var id = $(this).attr("id");
    var iframe = document.getElementById(id);
    var vPlayer = new Vimeo.Player(iframe);

    setInterval(function ()
    {
        console.log(iframe);
        console.log(vPlayer);
        var currtym = vPlayer.getCurrentTime();
        console.log(currtym);
        var currentTime = vPlayer.currentTime;
        console.log(currentTime);
    }, 1000);
});

但我的想法不多了。有人请帮我弄清楚。! 谢谢...

【问题讨论】:

    标签: javascript jquery html vimeo vimeo-player


    【解决方案1】:
    <script>
    $(document).on('click', '.btn-video', function ()
    {
    var id = $(this).attr("id");
    var iframe = document.getElementById(id);
    var vPlayer = new Vimeo.Player(iframe);
    
    setInterval(function ()
    {
        console.log(iframe);
        console.log(vPlayer);
        var currtym = vPlayer.getCurrentTime();
        console.log(currtym);
        var currentTime = 0;
        player.getCurrentTime().then(function(currentTime) {});        
        console.log(currentTime);
    }, 1000);
    

    });

    【讨论】:

    • 您的代码不起作用。您正在调用 VPlayer 对象,然后只是一个播放器对象。哪一个?即使我更正了这些错误,console.log(currentTime) 也只显示上面设置的值“0”
    【解决方案2】:

    我找到了另一个更好的解决方案来检索 endTime,以及视频进度百分比。可能会帮助某人...

    var vdo_play = "";
    $(document).on('click', '.btn-video', function ()
    {
        if (vdo_play)
        {
            clearInterval(vdo_play);
        }
        var player = new Vimeo.Player($(".mfp-iframe")[0]);
        var currentPos, percentage, vdoEndTym = "";
        vdo_play = setInterval(function ()
        {
            player.on('timeupdate', function (getAll)
            {
                currentPos = getAll.seconds; //get currentime
                vdoEndTym = getAll.duration; //get video duration
                percentage = (getAll.percent * 100)+"%";
                console.log('currentPos: ' + currentPos);
                console.log('percentage: ' + percentage);
            });
            player.on('ended', function ()
            {
                clearInterval(vdo_play);
            });
        }, 1000);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-02
      • 2020-01-29
      • 2011-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-02
      相关资源
      最近更新 更多