【问题标题】:Please show me how to load a second video using javascript请告诉我如何使用 javascript 加载第二个视频
【发布时间】:2016-12-12 06:18:48
【问题描述】:

我的以下代码可以正常工作,我只需要更改它,这样当视频结束时它会播放另一个,有人可以告诉我如何做到这一点,我不知道。

蒂姆

<script>

    // create youtube player
    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
          height: '390',
          width: '640',
          videoId: '4L5g2kN9oUU',
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
    }

    // autoplay video
    function onPlayerReady(event) {
        event.target.playVideo();
    }

    // when video ends
    function onPlayerStateChange(event) {        
        if(event.data === 0) {          
            alert('done');
        }
    }

</script>

【问题讨论】:

    标签: javascript video youtube youtube-api


    【解决方案1】:

    新答案 第一个视频播放完毕后,它会检查一个布尔值,如果为 false,它将设置为 true,并将 youtube player 设置为新的 videoId,之后它将执行 youtube 播放器的播放功能。

    您必须更改 secondvideoId 才能播放其他视频,它不会重播第一个视频,所以不要忘记。

    var firstVId = '4L5g2kN9oUU';
    var secondVId = '4L5g2kN9oUU';
    
    var bPlayedSecondTime = false;
    
    
    // create youtube player
    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
          height: '390',
          width: '640',
          videoId: firstVId,
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
    }
    
    // autoplay video
    function onPlayerReady(event) {
        event.target.playVideo();
    }
    
    // when video ends
    function onPlayerStateChange(event) {        
        if(event.data === 0) {          
            alert('done');
    
            if(bPlayedSecondTime == false)
            {
              player.loadVideoById(secondVId);
              bPlayedSecondTime = true;
              event.target.playVideo();
    
            }
        }
    }
    <script>
    

    【讨论】:

    • 试过这样不起作用 function onPlayerStateChange(event) { if(event.data === 0) { function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height :'200',宽度:'300',videoId:'dQw4w9WgXcQ',事件:{'onReady':onPlayerReady }});
    【解决方案2】:

    您是否尝试过使用新实例重新声明 player

    // when video ends
    function onPlayerStateChange(event) {        
        if(event.data === 0) {          
            alert('done');
            player = new YT.Player('player', {
                height: '390',
                width: '640',
                videoId: '[next video ID]',
                events: {
                    'onReady': onPlayerReady,
                    'onStateChange': onPlayerStateChange
                }
           });
        }
    }
    

    【讨论】:

    • player.loadVideoById(videoId);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多