我正在尝试使用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会以某种方式允许指定参数而不必使用一些脏黑客。
任何人都知道我该怎么做?
答案 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
}
});