【问题标题】:Loading multiple video players with a seekto link使用 seekto 链接加载多个视频播放器
【发布时间】:2014-10-11 16:02:11
【问题描述】:

我需要为这两个视频加载 2 个带有 seekto 链接的视频。

我可以使用此代码为一个视频执行此操作:

     <div id="player"></div>
<script>
    var tag = document.createElement('script');

    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);    
    var player;    
    function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
            height: '321',
            width: '530',
            videoId: 'IZ4uxjWUmtY',
            playerVars: {
                autoplay: 0,
                rel: 0,                 
            },
            events: {
                //'onReady': onPlayerReady
                //'onStateChange': onPlayerStateChange
            }
        });
    }    
    function onPlayerReady(event) {
        event.target.playVideo();
    }    
    var done = false;    
    function onPlayerStateChange(event) {
        if (event.data == YT.PlayerState.PLAYING && !done) {
            setTimeout(stopVideo, 6000);
            done = true;
        }
    }    
    function seekTo(secondes) {
        player.seekTo(secondes);
    }
</script>
<a class="conseil" href="javascript:void(0);" onClick="seekTo('0');">Link1</a>
<a class="conseil" href="javascript:void(0);" onClick="seekTo('605');">Link2</a>

我不知道如何使用 seekto 链接加载 2 个视频。其他人知道怎么做吗?

【问题讨论】:

    标签: video youtube-api


    【解决方案1】:

    为每个视频创建不同的player:

    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);    
    var player;    
    function onYouTubeIframeAPIReady() {
        player1 = new YT.Player('player', {
            height: '321',
            width: '530',
            videoId: 'IZ4uxjWUmtY',
            playerVars: {
                autoplay: 0,
                rel: 0,                 
            },
            events: {
                //'onReady': onPlayerReady
                //'onStateChange': onPlayerStateChange
            }
        });
        player2 = new YT.Player('player', {
            height: '321',
            width: '530',
            videoId: 'IZ4uxjWUmtY',
            playerVars: {
                autoplay: 0,
                rel: 0,                 
            },
            events: {
                //'onReady': onPlayerReady
                //'onStateChange': onPlayerStateChange
            }
        });
    
    }    
    function onPlayerReady(event) {
        event.target.playVideo();
    }    
    var done = false;    
    function onPlayerStateChange(event) {
        if (event.data == YT.PlayerState.PLAYING && !done) {
            setTimeout(stopVideo, 6000);
            done = true;
        }
    }    
    function seekToPlayer1(secondes) {
        player.seekTo(secondes);
    }
    function seekToPlayer2(secondes) {
        player.seekTo(secondes);
    }
    

    链接1 链接2

    【讨论】:

    • 您好,感谢您的帮助,您的代码没问题,但我需要在此页面上使用滑块:[link]webvideoproduction.fr/vyet10.html 第一个播放器已加载,但没有滑块脚本的第二个播放器已加载2个玩家都加载了,一个想法?谢谢
    • @Laurent 用 jsfiddle plz 创建一个活生生的例子
    • ok jsfiddle.net/94150148/vb7ecrxh 但现在第一个视频没有加载!感谢您的帮助
    • 您好@mpgn,您是否认为当您单击链接时会自动停止从另一个播放器播放视频?谢谢
    猜你喜欢
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 2012-06-13
    • 2011-04-05
    • 2020-09-13
    • 2017-03-30
    相关资源
    最近更新 更多