可以在youtube-api上使用modestbranding吗?

时间:2012-10-17 11:35:42

标签: javascript youtube-api

我正在尝试使用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会以某种方式允许指定参数而不必使用一些脏黑客。

任何人都知道我该怎么做?

2 个答案:

答案 0 :(得分:15)

modestbranding是一个玩家var,因此应添加“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
  }
});

答案 1 :(得分:1)

经过一些测试

如果将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
        }
    });