2013-07-30 2 views
0

Я пытаюсь использовать прослушиватель событий onStateChange для виджета загрузки YouTube для вызова другой функции в зависимости от состояния загружаемого виджета, но я не могу заставить прослушиватель событий onStateChange работать с загружаемым виджетами. См. Мой код ниже. Как ни странно, когда я использую ту же технику, чтобы добавить слушателя onStateChange для одного игрока iframe, он работает отлично. У кого-нибудь есть яркие идеи? Или загружает виджет api просто глючит?YouTube Upload Widget/OnStateChange прослушиватель событий

<script>  
var player; 
var widget; 
function onYouTubeIframeAPIReady() { 
player1 = new YT.Player('player1', { 
    events: { 

     } 
         } 
         ); 

widget = new YT.UploadWidget('widget', { 
     events: { 
     'onStateChange': onWidgetStateChange, 
     'onUploadSuccess': onUploadSuccess, 
     'onProcessingComplete': onProcessingComplete 
     } 
    }); 
    } 

function onWidgetStateChange(event) { 
    if (event.data == YT.UploadWidgetState.RECORDING) { 
     player1.playVideo(); 
       } 
} 

function onUploadSuccess(event) { 
    alert('Video ID ' + event.data.videoId + ' was uploaded and is currently being  processed.'); 
    } 

function onProcessingComplete(event) { 
    player = new YT.Player('player', { 
     height: 390, 
     width: 640, 
     videoId: event.data.videoId, 
     events: { 

      } 
    }); 
    } 

ответ

0

Я считаю, что ваша проблема в том, что вам нужно изменить event.data == YT.UploadWidgetState.RECORDING к event.data.state == YT.UploadWidgetState.RECORDING

При принятии этого изменения, я был в состоянии поставить вместе в значительной степени делает то, что вы хотите: http://jsfiddle.net/jeffposnick/yhWsG/35/

+0

большое спасибо! Работал как шарм. – user2631606

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