降低嵌入式视频的FPS&在指定的时间码循环迭代

时间:2014-01-14 09:45:21

标签: video youtube-api

我正在嵌入一个自动播放的YouTube视频,并且只播放视频的指定部分(第一次)

有没有办法让它以正常速度的大​​约1/8慢慢播放?

而且,当它循环而不是循环到视频的开头时,继续只播放指定的部分?

<object width="1000" height="780">
    <param name="movie" />
    <param name="allowscriptaccess" />
    <embed src="https://www.youtube.com/v/removedvideoid?autoplay=1&loop=1&start=14&end=18&playlist=removedvideoid" width="1000" height="780"></embed>
</object>

我不反对使用利用HTML5或JavaScript的替代方法,如果它被证明是更好的解决方案,但向后兼容性是一个重要因素。

1 个答案:

答案 0 :(得分:1)

这不是您问题的直接答案,因为我不确定是否存在以较慢的速度播放视频的参数。

我只想将您的注意力转移到您使用旧版YouTube API的事实上。

新的称为YouTube IFrame API,因此您可以在Google上搜索文档。

以下是一个用法示例:

<body onload="LoadYouTubeIframeAPI()">
    <script type="text/javascript">
        var player = null;
        var playerParams =
        {
            playerVars:
            {
                "enablejsapi":1,
                "origin":document.domain,
                "rel":0
            },
            events:
            {
                "onReady":onPlayerReady,
                "onError":onPlayerError,
                "onStateChange":onPlayerStateChange
            }
        };
        function LoadYouTubeIframeAPI()
        {
            var scriptElement = document.createElement("script");
            scriptElement.src = "http://www.youtube.com/iframe_api";
            var firstScriptElement = document.getElementsByTagName("script")[0];
            firstScriptElement.parentNode.insertBefore(scriptElement,firstScriptElement);
        }
        function onYouTubeIframeAPIReady()
        {
            player = new YT.Player("player",playerParams);
        }
        function onPlayerReady(event)
        {
            player.loadVideoById("your-video-id");
        }
        function onPlayerError(event)
        {
            ...
        }
        function onPlayerStateChange(event)
        {
            if (event.data == YT.PlayerState.ENDED)
            {
                ...
            }
        }
    </script>
</body>

搜索playerVars的文档,其中可能有帧速率选项...