Youtube api youtube嵌入-默认情况下强制使用特定语言的字幕

Youtube api youtube嵌入-默认情况下强制使用特定语言的字幕,youtube-api,Youtube Api,我正在嵌入带有特定语言字幕的youtube视频(在我的例子中是希伯来语)。 即时通讯使用: hl=He&cc_load_policy=1 显示希伯来语字幕,效果很好 但是,如果我的语言中没有sub,我希望将英语sub(如果有)视为默认值。有什么办法可以强制这样做吗?我认为最好完全忽略hl=这个词。(这实际上不是我们的问题之一。)字幕将默认为视频观看者的语言偏好,我的假设是,如果观看者的首选语言中没有字幕,字幕将返回到英语中。我在他们的api文档中没有找到这一点,但使用youtube p

我正在嵌入带有特定语言字幕的youtube视频(在我的例子中是希伯来语)。 即时通讯使用:

hl=He&cc_load_policy=1
显示希伯来语字幕,效果很好


但是,如果我的语言中没有sub,我希望将英语sub(如果有)视为默认值。有什么办法可以强制这样做吗?

我认为最好完全忽略hl=这个词。(这实际上不是我们的问题之一。)字幕将默认为视频观看者的语言偏好,我的假设是,如果观看者的首选语言中没有字幕,字幕将返回到英语中。

我在他们的api文档中没有找到这一点,但使用youtube player对象,您应该能够执行以下操作,将其更改为英文标题:

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

您可以使用
cc_load_policy
cc_lang_pref
选项通过

网址:

var ytPlayer = new YT.Player(
    ...
    playerVars: {
        cc_load_policy: 1,
        cc_lang_pref: 'en'
    },
    ....
});

API:

var ytPlayer = new YT.Player(
    ...
    playerVars: {
        cc_load_policy: 1,
        cc_lang_pref: 'en'
    },
    ....
});

信用证:

我找到的唯一方法是将URI从

https://www.youtube.com/watch?v=2s3aJfRr9gE
按照这种模式

"https://www.youtube-nocookie.com/embed/" + video_id + "?hl=" lang_code
在bash/Linux上,您只需复制具有该结构的URI,然后运行以下命令(西班牙语代码硬编码)来转换剪贴板内容(您可以创建别名):

您可以列出以下可用字幕:


唯一的缺点是视频会覆盖整个屏幕。。。这可能是一件好事,停止拖延相关视频:)

谢谢,但是-当我删除“hl”标记时,我会得到英文字幕,即使我的首选语言是希伯来语,并且有希伯来语字幕可用。那对我来说听起来像个bug。你能在那里打开一个bug以便我们跟踪它吗?你的语言偏好设置在哪里?我想这是一个不同的位置,取决于你是否有一个Google+帐户链接到你的YouTube帐户。打开-我提到了错误描述中的语言设置-cc_lang_pref对我来说是新的。我会查一查。这个答案很详细,现在最准确(2015-05-18),这个答案应该被提高投票率。如果你想强制字幕不出现,但这是非常有限的。它似乎不再起作用了。即使它会工作,我正在寻找一种方法,开始玩“自动生成和翻译”的字幕。用你的方法我不知道该怎么做。字幕可以自动翻译,我如何加载视频,并将英语字幕自动翻译成另一种语言,在我的情况下是葡萄牙语!?
youtube-dl --list-subs "{video_id or url}"