有没有办法将 iframe 中的 Youtube 视频提示为四舍五入的秒数?

Is there a way to cue a Youtube video in an iframe to rounded seconds?

我在播放视频时正在使用 YouTube Iframe API 我想同时播放其他内容。 当视频被提示到特定点时,我遇到了麻烦,因为无法获得毫秒数。

我的想法是使用以下代码将当前时间向下舍入:

function onPlayerStateChange(event) {
    if(event.data == YT.PlayerState.CUED){
         player.seekTo(player.getCurrentTime())
    }
  }

但这不起作用,如果视频被提示到 23.4 秒,它只会停留在 23.4。

您可以了解他们如何设法从这个 SO post 1 and SO post 2 获得准确的时间。

来自 SO post 1,

You can specify fractions of seconds using a float number

来自SO post 2,here是给出的演示。请参阅下面使用的代码。

 var tag = document.createElement('script');
        tag.src = "http://www.youtube.com/player_api";
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
        var player;
        function onYouTubePlayerAPIReady() {
            player = new YT.Player('player', {
                height: '390',
                width: '640',
                videoId: 'u1zgFlCw8Aw'
            });
        }
        $(window).load(function(){
            jQuery('#seek').click(function(){
                player.seekTo(parseFloat($("#seekto").val()));
                return false;
            });
        });

我通过使用更新版本的 API 解决了这个问题,其中 player.getCurrentTime() returns 一个浮点数。

阅读docs here