9

我正在尝试使用 Youtube API 将视频加载到我的页面上。

Youtube 指定您可以通过将参数“&modestbranding=1”附加到嵌入网址来启用“适度品牌”(即删除 youtube 徽标)。

我遇到的问题是新的 youtube API 使用 javascript 嵌入视频,例如:

  player = new YT.Player('player', {
    height: videoHeight,
    width: videoWidth,
    videoId: videoID,        
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });

然后生成相关的 iframe 脚本,但是我希望能够在这些参数中指定适度的品牌。我尝试添加一个额外的参数:

modestbranding: 1

modestbranding: '1'

但似乎都没有任何效果。

我意识到一种选择是从最终呈现的脚本中获取嵌入 url,然后将参数附加到 src:

<iframe frameborder="0" allowfullscreen="" id="player" title="YouTube video player" height="368" width="640" src="http://www.youtube.com/embed/<id>?enablejsapi=1"></iframe>

但是,我认为 youtube 会以某种方式允许指定参数,而不必使用一些肮脏的技巧。

有谁知道我该怎么做?

4

2 回答 2

19

modestbranding是一个播放器变量,因此应该添加“playerVars”属性。详细信息可以在开发者文档中找到。 https://developers.google.com/youtube/iframe_api_reference

这是一个关于如何包含modestedbranding或其他播放器变量的示例。

player = new YT.Player('player', {
  playerVars: {
    modestbranding: true
  },
  height: videoHeight,
  width: videoWidth,
  videoId: videoID,        
  events: {
    'onReady': onPlayerReady,
    'onStateChange': onPlayerStateChange
  }
});
于 2012-10-17T17:07:20.857 回答
2

经过一些测试

如果您将 showinfo 设置为 0,那么即使 modebranding 为 true,您也会获得 youtube 徽标。

似乎没有办法让视频完全清晰。

这将显示徽标但不显示标题

    Youtubeplayer = new YT.Player('ytplayer', 
    {
        height: "100%",
        width: '100%',
        videoId: videoid,
        playerVars: {
            autoplay: 1, controls: 0, modestbranding: true, showinfo: 1
        },
        events: 
        {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
        }
    });

这将显示标题但不显示徽标

    Youtubeplayer = new YT.Player('ytplayer', 
    {
        height: "100%",
        width: '100%',
        videoId: videoid,
        playerVars: {
            autoplay: 1, controls: 0, modestbranding: true, showinfo: 0
        },
        events: 
        {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
        }
    });
于 2017-06-20T16:22:11.723 回答