2017-06-13 122 views
4

花了昨天6/12/2017的更好的一部分,試圖找出當我使用YouTube iframe嵌入代碼(從共享>嵌入按鈕生成)時,我的字幕無法正常工作。youtube-iframe-api隱藏字幕問題

經過大量實驗後,我將問題縮小到已經確定的範圍。由於字幕是自動生成的,隱藏字幕不起作用。一旦我手動創建隱藏式字幕,一切似乎都可以正常工作。我甚至不必使用cc_load_policy = 1參數。

但是...今天6/13/2017,我碰巧正在使用相同的視頻文件,突然之間我有不同的行爲。當我從常規YouTube頁面播放視頻時,我會看到字幕。當我從iframe嵌入式播放器播放視頻時,我不會。嘗試各種愚蠢的東西,以閱讀爲基礎讓事情發揮作用。

  • 重新創建英語隱藏式字幕(手動創建一個blurb在開始)。
  • 設置cc_load_policy = 1個參數
  • 組YT:CC =上作爲標籤
  • 其他一些愚蠢的事情是不值得一提。

字幕

注:在這兩種情況下,該域名是:http://www.youtube.com我只能包括後2個鏈接。

/手錶V = EExO_6PVIXk

NO字幕:

/嵌入/ EExO_6PVIXk /嵌入/ EExO_6PVIXk cc_load_policy = 1

我很茫然?任何方向將不勝感激。

約翰

+0

非功能鏈接應該是: 1)/嵌入/ EExO_6PVIXk 2)/嵌入/ EExO_6PVIXk cc_load_policy = 1個 –

+0

有人還指出,代碼得到了改變昨天在iFrame播放器API。 https://developers.google.com/youtube/player_parameters#Revision_History –

+0

同樣的問題,在這個新版本中,CC菜單沒有顯示出來。 查看此視頻爲嵌入式和常規網址: https://www.youtube.com/embed/eIho2S0ZahI, https://www.youtube.com/watch?v=eIho2S0ZahI –

回答

0

通過CC在那裏開始工作的東西用YouTube的iFrame API改變昨日(17年6月14日)小道消息聽到。

有了一些測試,我得到了不同的結果(但我的工作):

1)截至目前(17年6月15日),嵌入視頻鏈接現在顯示CC按鈕,如果你將顯示CC先前已啓用隱藏式字幕(在「yt-html5-player-modules :: subtitlesModuleData :: module-enabled」下的本地存儲中保持跟蹤)

2)如果向URL提供了「cc_load_policy = 1」參數(iFrame嵌入的)隱藏字幕將顯示,而不管本地存儲中的值。

3)什麼不工作是我裝的iframe如下:

<iframe 
     id="futusign_youtube" 
     style="visibility: hidden;" 
     frameborder="0" 
     src="https://www.youtube.com/embed/XIMLoLxmTDw?enablejsapi=1" 
    ></iframe> 

,然後試圖設置在playerVars的CC政策:

var player = new window.YT.Player('futusign_youtube', { 
     playerVars: { 
     'controls': 0, 
     'enablejsapi': 1, 
     'showinfo': 0, 
     'rel': 0, 
     'cc_load_policy': 1, 
     }, 
     events: { 
     'onReady': onPlayerReady, 
     'onStateChange': onPlayerStateChange, 
     'onError': onPlayerError, 
     } 
    }); 

4)的變通辦法是將src的URL上的cc_load_policy = 1設置爲iFrame。

<iframe 
     id="futusign_youtube" 
     style="visibility: hidden;" 
     frameborder="0" 
     src="https://www.youtube.com/embed/XIMLoLxmTDw?enablejsapi=1&cc_load_policy=1" 
    ></iframe>