Youtube - autoplay and mute

Собственно..

Как при встраивании ролика Youtube сделать его автоматически запускающимся, но без звука

Чтобы ролик запускался автоматически при открытии страницы сайта (не считаю хорошим тоном, но иногда “очень хочется”) можно использовать один из параметров для iframe - autoplay

Проигрыватель можно настроить с помощью различных параметров, которые добавляются в IFrame. Например, параметр autoplay используется, чтобы включить автоматическое воспроизведение видео, loop – для воспроизведения по кругу, а enablejsapi – чтобы включить JavaScript API.

Однако, чтобы не раздражать посетителя ещё и звуком, лучше запускать ролик с отключенной громкостью. Добавление параметров вроде:
volume="0" vol="0" mute="1"
(по рекомендациям “в интернетах”) не помогает.

Чтобы управлять громкостью проигрывателя (да и использовать другие полезные функции проигрывателя) следует подключить youtube api www.youtube.com/iframe_api

<!– 1. The <iframe> (and video player) will replace this <div> tag. –>

<div id=”playerm”></div>

<script type=”text/javascript”>

  // 2. This code loads the IFrame Player API code asynchronously.

  var tag = document.createElement(’script’);

  tag.src=”https://www.youtube.com/iframe_api”;

  var firstScriptTag = document.getElementsByTagName(’script’)[0];

  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

  // 3. This function creates an <iframe> (and YouTube player)

  //    after the API code downloads.

  var player;

  function onYouTubeIframeAPIReady() {

player = new YT.Player(’playerm’, {

 height: ‘480′,

 width: ‘100%’,

 videoId: ’sBm50bA80Rc’,

 events: {

‘onReady’: onPlayerReady,

‘onStateChange’: onPlayerStateChange

 }

});

  }

  // 4. The API will call this function when the video player is ready.

  function onPlayerReady(event) {

  event.target.setVolume(0);

  event.target.playVideo();

  }

  // 5. The API calls this function when the player’s state changes.

  //    The function indicates that when playing a video (state=1),

  //    the player should play for six seconds and then stop.

  var done = false;

  function onPlayerStateChange(event) {

if (event.data == YT.PlayerState.PLAYING && !done) {

//      setTimeout(stopVideo, 6000);

 done = true;

}

  event.target.setVolume(0);

  }

</script>

 

Метки:

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

Добавить комментарий