Obținerea unui videoclip YouTube încorporat pentru redare automată și buclă (Programare, Html, Css, Youtube, Youtube Api)

Justin Newbury a intrebat.

Încerc să obțin un videoclip Youtube de bază pentru a reda automat și a face buclă automată încorporat pe o pagină, dar nu am noroc.

<div style="text-align: center; margin: auto"><object type="application/x-shockwave-flash" style="width:1120px; height:630px;" data="http://www.youtube.com/v/GRonxog5mbw?rel=0&amp;loop=1&amp;autoplay=1&amp;showsearch=0&amp;version=3&amp;showinfo=0&amp;modestbranding=1&amp;fs=1">
<param name="movie" value="http://www.youtube.com/v/GRonxog5mbw?rel=0&amp;loop=1&amp;autoplay=1&amp;showsearch=0&amp;version=3&amp;showinfo=0&amp;modestbranding=1&amp;fs=1" />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
</object></div>

Comentarii

  • Te-ai uitat la developers.google.com/youtube/player_parameters –  > Por Hope4You.
  • duplicat al stackoverflow.com/questions/7281765/… – –  > Por Scott Hillson.
  • Nu cu redarea automată am probleme, ci cu bucla de fapt. Îmi pare rău, ar fi trebuit să clarific. –  > Por Justin Newbury.
  • Aș dori să văd o opțiune care să nu oprească bucla dacă nu avem fila / fereastra în prim-plan. –  > Por cregox.
5 răspunsuri
Jamie Hayman

YouTubes HTML5 embed code:

<iframe width="560" height="315" src="http://www.youtube.com/embed/GRonxog5mbw?autoplay=1&loop=1&playlist=GRonxog5mbw" frameborder="0" allowfullscreen></iframe>​

Puteți citi despre el aici: … (… (EDITARE Link a murit.) … Vezi conținutul original pe proiectul Internet Archive.

http://web.archive.org/web/20121016180134/http://brianwong.com/blog/2012-youtube-embed-code-autoplay-on-and-all-other-parameters/

Comentarii

  • dar videoclipul se va reîncărca de fiecare dată cum pot împiedica acest lucru ca în www.kolor.com unde videoclipul continuă să se joace chiar dacă ați oprit internetul după prima reluare automată? –  > Por user1386213.
  • da, am aceeași problemă, există vreo modalitate de a avea o astfel de buclă (continuă chiar și în modul offline)?  > Por shiyon sufa.
  • în 2020 acest lucru funcționează, dar trebuie redenumit parametrul playlist în listă, vezi răspunsul lui @tarik –  > Por Vadimo.
Salman A

Aici este lista completă de Parametrii playerului încorporat YouTube.

Informații relevante:

autoplay (playere acceptate: AS3, AS2, HTML5) Valori: 0 sau 1. Valoarea implicită este 0. Stabilește dacă videoclipul inițial se va reda automat sau nu la încărcarea playerului.

loop (playere acceptate: AS3, HTML5) Valori: 0 sau 1. Valoarea implicită este 0. În cazul unui singur player video, o valoare de 1 va face ca playerul să redea videoclipul inițial din nou și din nou. În cazul unui player de listă de redare (sau al unui player personalizat), playerul va reda întreaga listă de redare și apoi va începe din nou de la primul videoclip.

Notă: Acest parametru are un suport limitat în playerul AS3 și în inserțiile IFrame, care ar putea încărca fie playerul AS3, fie playerul HTML5. În prezent, parametrul „loop” funcționează numai în playerul AS3 atunci când este utilizat împreună cu parametrul „playlist”. Pentru a derula în buclă un singur videoclip, setați valoarea parametrului loop la 1 și setați valoarea parametrului playlist la același ID video deja specificat în URL-ul Player API:

http://www.youtube.com/v/VIDEO_ID?version=3&loop=1&playlist=VIDEO_ID

Utilizați URL-ul de mai sus în codul de încorporare (adăugați și alți parametri).

Comentarii

  • Mulțumesc. adăugarea ID-ului video la lista de redare m-a ajutat să fac bucla cu același videoclip din nou și din nou. –  > Por Karthikeyan VK.
  • @Vadimo parametrii sunt încă prezenți în documentație… Nu înțeleg de ce nu mai funcționează „de acum încolo” – -…  > Por Salman A.
Tarik

Toate răspunsurile nu au funcționat pentru mine, am verificat URL-ul listei de redare și am văzut că lista de redare parametrul s-a schimbat în list! Deci, ar trebui să fie:

&loop=1&list=PLvNxGp1V1dOwpDBl7L3AJIlkKYdNDKUEs

Deci, iată codul complet pe care îl folosesc pentru a face un videoclip curat, cu buclă și cu redare automată:

<iframe width="100%" height="425" src="https://www.youtube.com/embed/MavEpJETfgI?autoplay=1&showinfo=0&loop=1&list=PLvNxGp1V1dOwpDBl7L3AJIlkKYdNDKUEs&rel=0" frameborder="0" allowfullscreen></iframe>

Comentarii

  • În exemplul dvs., parametrul list nu este același cu ID-ul video. Este corect? –  > Por zeta.
pst tomowo

Am avut aceeași experiență, însă ceea ce a făcut magia pentru mine este să nu schimb embed în v.

Deci, codul va arăta astfel…

<iframe width="560" height="315" src="https://www.youtube.com/embed/cTYuscQu-Og?Version=3&loop=1&playlist=cTYuscQu-Og" frameborder="0" allowfullscreen></iframe>

Sper că vă ajută…

LuH

Playlist hack nu a funcționat nici pentru mine. Soluție de lucru pentru septembrie 2018 (bonus: setați lățimea și înălțimea prin CSS pentru #yt-wrap în loc de a le codifica în JS):

<div id="yt-wrap">
    <!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
    <div id="ytplayer"></div>
</div>

<script>
  // 2. This code loads the IFrame Player API code asynchronously.
  var tag = document.createElement('script');
  tag.src = "https://www.youtube.com/player_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 onYouTubePlayerAPIReady() {
    player = new YT.Player('ytplayer', {
      width: '100%',
      height: '100%',
      videoId: 'VIDEO_ID',
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
  }

  // 4. The API will call this function when the video player is ready.
  function onPlayerReady(event) {
    event.target.playVideo();
    player.mute(); // comment out if you don't want the auto played video muted
  }

  // 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.
  function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.ENDED) {
      player.seekTo(0);
      player.playVideo();
    }
  }
  function stopVideo() {
    player.stopVideo();
  }
</script>