youtube-iframe-api 隐藏式字幕问题

2023-12-26

昨天(2017 年 6 月 12 日)花了大部分时间试图找出为什么当我使用 YouTube iframe 嵌入代码(从“共享”>“嵌入”按钮生成)时我的字幕不起作用。

经过多次实验,我将问题范围缩小到已经确定的范围。隐藏式字幕无法正常工作,因为字幕是自动生成的。当我手动创建隐藏式字幕后,一切似乎都工作正常。我什至不必使用 cc_load_policy=1 参数。

但是...今天 2017 年 6 月 13 日,我碰巧正在处理相同的视频文件,突然间我得到了不同的行为。当我从常规 YouTube 页面播放视频时,我会看到字幕。当我从 iframe 嵌入式播放器播放视频时,我不播放视频。尝试了各种愚蠢的事情来让事情在阅读的基础上发挥作用。

  • 重新创建了英文隐藏字幕(在开始时手动创建了一个简介)。
  • 设置 cc_load_policy=1 参数
  • 设置 yt:cc=on 作为标签
  • 其他一些不值得一提的愚蠢的事情。

字幕

注意:在这两种情况下,域都是:http://www.youtube.com http://www.youtube.com我只能在帖子中包含 2 个链接。

/watch?v=EExO_6PVIXk

无字幕:

/嵌入/EExO_6PVIXk /embed/EExO_6PVIXk?cc_load_policy=1

我很茫然。任何方向将不胜感激。

John


昨天(2017 年 6 月 14 日)通过小道消息听说 YouTube iFrame API 发生了一些变化,CC 开始在其中工作。

通过一些测试,我得到了不同的结果(但正在工作):

1) 截至目前(2017 年 6 月 15 日),嵌入视频链接现在显示 CC 按钮,并且如果您之前启用了隐藏式字幕(在本地存储中的“yt-html5-player-modules::”下保持跟踪,则将显示 CC) subtitlesModuleData::启用模块”。

2) 如果您向(iFrame 嵌入的)URL 提供记录的“cc_load_policy=1”参数,则无论本地存储中的值如何,隐藏式字幕都会显示。

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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

youtube-iframe-api 隐藏式字幕问题 的相关文章

随机推荐