特定の言語(私の場合はヘブライ語)の字幕付きのYouTubeビデオを埋め込んでいます。使用しています:
hl=He&cc_load_policy=1
ヘブライ語の字幕を表示すると、うまくいきます。
ただし、自分の言語に字幕がない場合は、英語の字幕 (ある場合) をデフォルトとして表示したいと思います。それを強制する方法はありますか?
特定の言語(私の場合はヘブライ語)の字幕付きのYouTubeビデオを埋め込んでいます。使用しています:
hl=He&cc_load_policy=1
ヘブライ語の字幕を表示すると、うまくいきます。
ただし、自分の言語に字幕がない場合は、英語の字幕 (ある場合) をデフォルトとして表示したいと思います。それを強制する方法はありますか?
cc_load_policy
&cc_lang_pref
オプションを使用してキャプションと言語を強制することができます
URL:
http://www.youtube.com/embed/M7lc1UVf-VE?cc_load_policy=1&cc_lang_pref=en
API:
var ytPlayer = new YT.Player(
...
playerVars: {
cc_load_policy: 1,
cc_lang_pref: 'en'
},
....
});
APIドキュメントのどこにもこれは見つかりませんでしたが、YouTubeプレーヤーオブジェクトを使用して、次の操作を実行して英語のキャプションに変更できるはずです:
player.setOption("captions", "track", {"languageCode": "en"}); //Works for html5 ignored by AS3
player.setOption("cc", "track", {"languageCode": "en"}); //Works for AS3 ignored by html5
次のこともできます。
var module;
if (testplayer.getOptions().indexOf("cc") !== -1) {
module = "cc";
} else if (testplayer.getOptions().indexOf("captions") != -1) {{
module = "captions";
}
var tracklist = testplayer.getOption(module, "tracklist");
// then iterate through the tracklist to see if "he" or "en" is there.
cc_load_policy=1 がありますが、次の方法で js を介して有効にすることもできます。
player.loadModule("captions"); //Works for html5 ignored by AS3
player.loadModule("cc"); //Works for AS3 ignored by html5
オフにするには:
player.unloadModule("captions"); //Works for html5 ignored by AS3
player.unloadModule("cc"); //Works for AS3 ignored by html5
hl= を完全に省略した方がよいと思います。(実際には、公式にサポートされている Player パラメーターの 1 つではありません。) 字幕は、ビデオの視聴者の言語設定にデフォルト設定されます。私の推測では、視聴者の優先言語の字幕がない場合、英語に戻ります。