Pause youtube video, youtube api

前端 未结 3 710

I\'m trying to pause and play YouTube videos with the following code which is pretty much a copy from the Youtube API page:

         


        
相关标签:
3条回答
  • 2020-12-03 04:13

    In your HTML, have some buttons to control the video:

    <input type="button" id="play">
    <input type="button" id="pause">
    

    Using jQuery, bind an event listener (the click) to trigger a function on your player object:

    $(function() {
      $('#play').click(function() {
        player.playVideo();
      });
      $('#pause').click(function() {
        player.pauseVideo();
      });
    });
    

    I built an app using YouTube's Player and Data api. Take what you need: https://github.com/HunterMeyer/YouTV

    0 讨论(0)
  • 2020-12-03 04:19
    <div id="player"></div>
    <a href="#" id="resume">Play</a>
    

    In this code I added the Resume and Pause buttons in one: Example

    // 2. This code loads the IFrame Player API code asynchronously.
    var tag = document.createElement('script');
    tag.src = "https://www.youtube.com/player_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    
    // 3. This function creates an <iframe> (and YouTube player)
    //    after the API code downloads.
    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
            height: '315',
            width: '560',
            videoId: '0Bmhjf0rKe8',
            events: {
                'onStateChange': onPlayerStateChange
            }
        });
        document.getElementById('resume').onclick = function() {
            PlayPause();
            return false;
        };
    }
    // 4. This function change name of tag click.
    var playerState;
    function onPlayerStateChange(event) {
        var getId = document.getElementById('resume');
        if(event.data === 0) {
            getId.innerText = 'Play';
        }
      else if(event.data === 1) {
            getId.innerText = 'Pause';
        }
      else if(event.data === 2) {
            getId.innerText = 'Resume';
        }
      else if(event.data === 3) {
            getId.innerText = 'Loading...';
        }
        playerState = event.data;
    }
    // 5. This function Play/Pause the video.
    function PlayPause() {
        if(playerState == '1') {
            player.pauseVideo();
        }
        else {
            player.playVideo();
        }
    }
    
    0 讨论(0)
  • 2020-12-03 04:27

    Use player.playVideo(); (resume) and player.pauseVideo(); (pause) once the player is ready: http://jsfiddle.net/4WPmY/6/

    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
            height: '315',
            width: '560',
            videoId: 'bpOR_HuHRNs',
        });
        document.getElementById('resume').onclick = function() {
            player.playVideo();
        };
        document.getElementById('pause').onclick = function() {
            player.pauseVideo();
        };
    }
    
    0 讨论(0)
提交回复
热议问题