Вопрос по javascript, youtube, youtube-api, youtube-javascript-api – Пауза YouTube видео, YouTube API

8

Я пытаюсь приостановить и воспроизвести видео на YouTube с помощью следующего кода, который в значительной степени является копиейСтраница API YouTube:

// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "http://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: 'bpOR_HuHRNs',
    });
}

Here's a demo in jsFiddle

Однако это не работает. У кого-нибудь есть идеи, как это сделать?

Ваш Ответ

3   ответа
17

использованиеplayer.playVideo(); (резюме) иplayer.pauseVideo(); (пауза), когда игрок готов: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();
    };
}
1

В вашем HTML есть несколько кнопок для управления видео:

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

Используя jQuery, свяжите прослушиватель событий (щелчок), чтобы вызвать функцию на вашем объекте игрока:

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

Я создал приложение, используя YouTube Player и Data API. Возьми то, что тебе нужно: https://github.com/HunterMeyer/YouTV

1
<div id="player"></div>
<a href="#" id="resume">Play</a>

In this code I added the Resume and Pause buttons in one: пример

// 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();
    }
}

Похожие вопросы