嵌入并循环播放youtube视频的一部分(html5)

时间:2015-12-12 19:20:37

标签: youtube youtube-javascript-api android-youtube-api youtube-data-api

有没有办法只使用HTML5播放器循环播放YouTube视频的一部分?我尝试了这段代码(开始7秒,结束12秒)

第一个"循环"显示我想要的部分,第二个和其他循环显示整个视频。

它在Flash中运行,但我在移动设备的HTML 5中遇到了问题。

这是我的嵌入代码:

<iframe allowfullscreen="" frameborder="0"  width="960" height="720" src="http://www.youtube.com/embed/Bpu0TIXzI1w?version=3&start=7&end=12&amp;autohide=1&amp;hl=en_US&amp;rel=0&amp;loop=0&amp;modestbranding=1&amp;playlist=Bpu0TIXzI1w"></iframe>

1 个答案:

答案 0 :(得分:4)

您可能需要使用Javascript API。它有点复杂,但您可以完全控制视频播放。

文档:https://developers.google.com/youtube/iframe_api_reference

工作示例:http://jsfiddle.net/pbosakov/Lo6gwtff/

代码:

<div id="player"></div>
<script type="text/javascript" src="https://www.youtube.com/iframe_api"></script>
<script type="text/javascript">
var player;
function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
        height: '390',
        width: '640',
        videoId: 'Bpu0TIXzI1w',
        events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
        }
    });
}
function onPlayerReady(event) {
    loopStart();
    player.playVideo();
}
function loopStart() {
    player.seekTo(7);   // Start at 7 seconds
}
function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.PLAYING) {
        setTimeout(loopStart, 5000); // After 5 seconds, restart the loop
    }
}
</script>