2016-09-19 8 views
0

Так что в основном я встроил видео, которое не должно автовоспроизводиться, а при воспроизведении должно быть отключено, код работает нормально, но я хочу, чтобы он запускал функцию onStateChange в противном случае всякий раз, когда вы воспроизводите/приостанавливаете видео отключает видео. Кто-нибудь знает, как ограничить эту функцию одним исполнением? Помощь очень ценится :)Предельная функция для 1-го исполнения плеера-плеера api

function onYouTubeIframeAPIReady() { 
    player = new YT.Player('video-placeholder', { 
     videoId: 'sAhYEfQ1168', 
     playerVars: { 
      'autoplay': 0, 
      'controls': 0, 
      'autohide': 1, 
      'wmode': 'opaque', 
      'showinfo': 0, 
      'loop': 1, 
      'fs':0, 
      'rel':0 
     }, 
     events: { 
      'onReady': onPlayerReady 
     } 
    }); 

} 

function onPlayerReady(event) { 
    player.mute(); 
} 

ответ

3

Вы можете установить onReady свойство player.events объекта null внутри и на последней строке onPlayerReady функции

function onPlayerReady(event) { 
    player.mute(); 
    player.events.onReady = null; 
} 
+0

Извините, не работает :( –

+0

На самом деле удалось использовать ваш ответ, но с помощью события «onReady». Спасибо, человек! –

+0

@IndianaPorter Предлагаемое редактирование содержит разные ссылки, чем оригинал Вопрос: оригинальный Вопрос по-прежнему ссылается 'onStateChange',' onPlayerStateChange'. Возможно, обновить оригинал Вопрос: шаблон тот же. – guest271314

1

Похоже, что «onStateChange» использует следующие состояния:

-1 (unstarted) 
0 (ended) 
1 (playing) 
2 (paused) 
3 (buffering) 
5 (video cued) 

Документация: https://developers.google.com/youtube/iframe_api_reference?hl=de

Событие с данными «-1», кажется, выполняется только один раз при первом запуске.

Вот пример:

http://jsfiddle.net/w4d6t32m/

Если вы хотите, чтобы отключить видео вы также можете посмотреть в событие «onReady».

+0

Спасибо, приятель! пришел к тому же выводу, как и вы его разместили :) Спасибо за помощь! –

Смежные вопросы