2016-09-19 82 views
0

因此,基本上我已經嵌入了一個不應該自動播放的視頻,當播放被靜音,代碼工作正常,但我只想它運行onStateChange功能一次,否則無論何時播放/暫停視頻會將視頻靜音。有誰知道如何將該功能限制爲單次執行?幫助是非常讚賞:)限制功能1執行YouTube播放器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

你可以內和onPlayerReady函數的最後一行player.events對象的onReady屬性設置爲null

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

感謝隊友!得出同樣的結論,就像你發佈這個:)謝謝你的幫助! –

相關問題