2011-09-13 10 views
10

Ho un'immagine e voglio iniziare un video di youtube solo dopo aver cliccato sull'immagine. Come posso fare questo?Come riprodurre/avviare il video di youtube dopo aver cliccato su un'immagine?

Grazie mille!

+0

Suggerisci mostrando po 'di codice. –

+0

http://code.google.com/intl/fr-FR/apis/youtube/js_api_reference.html –

+1

Ecco un post con un esempio funzionante completo: http://www.objectpartners.com/2013/08/21/triggering-a-youtube-video-from-click-a-button-image-and-replace-when-ended/ –

risposta

8

Dai un'occhiata alla:

Youtube API examples

il codice sarà qualcosa di simile:

function onPlayerReady(event) { 
    $('img').click(function() { 
     ytPlayer.playVideo(); 
    }); 
} 
+1

Il js qui non è corretto. Qualcuno può sistemare per favore. – oyvey

7

Un altro approccio - Interruttore IFRAME SRC (URL) con la versione "autoplay = 1?" .

<a href="#" id="clickMe">PLAY</a> 

<iframe id="iframe" width="1280" height="720" src="//www.youtube.com/embed/F0naUkyEkmM" 
      data-autoplay-src="//www.youtube.com/embed/F0naUkyEkmM?autoplay=1"></iframe> 

jQuery:

jQuery("#clickMe").on('click',function(){ 
    var vi = jQuery("#iframe"); 
    vi.attr("src", vi.data("autoplay-src")); 
}); 
+0

Con questo approccio, se si fa clic su "torna indietro" nel browser, si verifica qualche problema –

+0

L'autoplay non funziona sui dispositivi mobili. – sk904861

0

aggiungendo autoplay = 1 sembra funzionare solo la prima volta. Sto usando un pulsante start/stop e quando lo clicco la prima volta, aggiungo autoplay = 1. Quindi quando clicco di nuovo rimuovo il autoplay = 1. Funziona bene

ma quando provo ad avviarlo di nuovo (aggiungendo autoplay = 1), non si avvierà.

+3

Benvenuti in StackOverflow. Questo sembra essere un commento invece di una vera soluzione. Ti preghiamo di considerare di spostarlo nella sezione dei commenti o di pubblicarlo come una domanda a sé stante. In ogni caso, buona giornata! – hiergiltdiestfu

4

.click() JQuery gestore di eventi:

$("#clickMe").click(function(){ 
    $("#iframe")[0].src += "&autoplay=1"; 
    ev.preventDefault(); 
}); 
0

penso che questo vi aiuterà. Funzionando bene per me.

$('.trigger').on('click', function() { 
 
    $(".video")[0].src += "1"; 
 
});
<a href="#" class="trigger">Click</a> 
 
     
 
<iframe class="video" src="https://www.youtube.com/embed/HJX71gFz_do?autoplay=" frameborder="0" allowfullscreen></iframe>

Problemi correlati