2012-10-17 32 views
5

我正尝试使用Youtube API将视频加载到我的页面上。是否可以使用youtube-api使用modestbranding?

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' 

但也似乎有任何影响。

我认识到,一个办法是从最终呈现的脚本抢嵌入网址,然后将参数附加到源:

<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会以某种方式允许指定参数,而不必使用一些肮脏的黑客。

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

回答

12

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 
    } 
}); 
+0

由于格雷格,我一直在寻找我无法找到任何东西!搜索技巧不佳:-) – alimac83

+0

Youtubeplayer = new YT。播放器( 'YouTube播放', { 高度: “100%”, 宽度: '100%', VIDEOID:VideoID的, playerVars:{自动播放:1,showinfo:0,playsinline:1,自动隐藏:1,控制:0,disablekb:1,enablejsapi:1,fs:0,modestbranding:true,rel:0,start:ytinit,end:ytend}, events: 'onReady':onPlayerReady, 'onStateChange'onPlayerStateChange } }); – hamboy75

+0

使用它不适用于我,也许它已被youtube删除? – hamboy75

1

经过一些测试

如果设置showinfo 0,那么你得到的YouTube标志,即使modesbranding是真实的。

没有办法让视频看起来完全清晰。

这将显示标志,但没有标题

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 
     } 
    });