首页 文章

youtube-iframe-api隐藏字幕问题

提问于
浏览
4

花了很多时间昨天6/12/2017尝试弄清楚为什么我的字幕在我使用YouTube iframe嵌入代码(从Share> Embed按钮生成)时无法正常工作 .

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

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

  • 重新创建了英文隐藏字幕(在开始时手动创建了一个模糊) .

  • 设置cc_load_policy = 1参数

  • set yt:cc = on作为标签

  • 其他一些不值得一提的傻话 .

字幕

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

/ Watch ?ν= EExO_6PVIXk

没有字幕:

/ embed / EExO_6PVIXk / embed / EExO_6PVIXk?cc_load_policy = 1

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

约翰

2 回答

  • 0

    我认为这可能是这个问题的重复:

    Embed Youtube with Captions on by default not working

    ...添加 cc_lang_pref=en 选项(如果你想要英文)解决问题 .

  • 0

    昨天(17/14/17),CC开始工作,通过小说改变了YouTube iFrame API .

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

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

    2)如果您向URL(iFrame嵌入)提供了“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>
    

相关问题