Можно ли использовать modestbranding с youtube-api?

Я пытаюсь загрузить видео на свою страницу с помощью YouTube API.

Youtube указывает, что вы можете включить "скромный брендинг" (т. е. удаление логотипов youtube) путем добавления параметра '&modestbranding=1' к url-адресу вставки.

проблема в том, что новый API youtube встраивает видео с помощью 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 ответов


modestbranding является игроком var и, следовательно, должен быть добавлен с атрибутом "playerVars". Подробности можно найти в документах разработчика. https://developers.google.com/youtube/iframe_api_reference

вот пример того, как включить modestedbranding или другой игрок vars.

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

после некоторых испытаний

Если вы установите 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
        }
    });