我在使用iframe播放器在youtube視頻中顯示隱藏式標題的問題。Youtube隱藏式標題HTML5無法正常工作
下面是我使用的代碼:
<!DOCTYPE html>
<html>
<body>
<!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
<div id="player"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_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 onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
event.target.playVideo();
}
// 5. The API calls this function when the player's state changes.
// The function indicates that when playing a video (state=1),
// the player should play for six seconds and then stop.
function onPlayerStateChange(event) {
event.target.loadModule('captions');
}
</script>
</body>
</html>
這裏有一個要點https://gist.github.com/khirakawa/0a81b3039a85b9875b59
這基本上是相同的示例代碼是這樣的API參考頁,https://developers.google.com/youtube/iframe_api_reference上。我在播放器狀態更改事件上致電event.target.loadModule('captions');
。
我無法找到有關加載字幕模塊的API參考頁面上的任何文件,但我沒有找到的代碼加載字幕模塊在此票https://code.google.com/p/gdata-issues/issues/detail?id=444
我沒有運氣嘗試這樣兩個Safari和Chrome 。
本地存儲值我看到YouTube上打開時是:
yt-remote-connected-devices {"data":"[]","expiration":1412291704974,"creation":1412205304974}
yt-remote-device-id {"data":"27238aac-9452-4ae8-9b9f-1e29278e4d3b","expiration":1443741293991,"creation":1412205293992}
yt-remote-load-account-screens {"data":"false","expiration":1443741304972,"creation":1412205304972}
yt-remote-online-screens {"data":"[]","expiration":1412205364973,"creation":1412205304973}
公告稱,其對字幕缺少的條目(我不記得什麼關鍵值分別爲,但我知道他們有兩個人一個用於啓用字幕,另一個用於字幕設置)。
如果您檢查cc_load_policy,但演示頁面(https://developers.google.com/youtube/youtube_player_demo)顯示隱藏式字幕,但這只是一個AS3選項。
這是在10月6日工作,但我不能得到它的工作了。我不確定youtube腳本本身是否發生了變化。
我嘗試將event.target.loadModule('captions');
移動到onPlayerReady
處理程序,但那也不起作用。
任何幫助將不勝感激。
我拉着我的頭髮試圖讓這個工作。該API於10/14更新,但在腳本中調用cc_load_policy不會加載字幕。你有沒有必要改變你的HTML標記呢? – Brian 2014-10-29 15:36:29
我沒有更改HTML標記。你的代碼是什麼樣的? – 2014-10-31 22:17:43
我發現它只能在字幕上傳到視頻時才能使用,而不能使用YouTube生成的字幕。儘管如此,文檔沒有提到這一點。 – Brian 2014-11-01 14:57:29