15

特定の言語(私の場合はヘブライ語)の字幕付きのYouTubeビデオを埋め込んでいます。使用しています:

hl=He&cc_load_policy=1

ヘブライ語の字幕を表示すると、うまくいきます。

ただし、自分の言語に字幕がない場合は、英語の字幕 (ある場合) をデフォルトとして表示したいと思います。それを強制する方法はありますか?

4

4 に答える 4

30

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'
    },
    ....
});

クレジット: https://webapps.stackexchange.com/questions/27669/is-there-any-way-to-force-subtitles-in-a-youtube-video

于 2014-04-11T14:58:37.213 に答える
5

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
于 2014-03-29T01:46:34.593 に答える
3

hl= を完全に省略した方がよいと思います。(実際には、公式にサポートされている Player パラメーターの 1 つではありません。) 字幕は、ビデオの視聴者の言語設定にデフォルト設定されます。私の推測では、視聴者の優先言語の字幕がない場合、英語に戻ります。

于 2012-10-02T19:14:33.290 に答える