2012-11-17 29 views
8

Ho bisogno di riprodurre video sulla mia pagina web. Ma ho bisogno di negare il controllo. Inserisco "controls = 0", ma il lettore ha un'azione di pausa quando faccio clic su di esso. Posso disabilitare l'azione "pausa" nel player di YouTube?Youtube Iframe disable pause video

+0

Buona domanda, l'api è davvero scarsa (e sto postando questo 2 anni dopo) – sports

risposta

2

Non c'è modo per disattivare la pausa del tutto.

È possibile ascoltare gli eventi YT.PlayerState.PAUSED in un gestore onStateChange e chiamare immediatamente playVideo() quando ne si individua uno, ma ... non lo so, sembra non essere molto user-friendly.

+0

Sì. Non è facile da usare, ma non è il mio desiderio. Comunque, grazie. –

1

"? Controlla = 0" solo nascondere il pannello di controllo inferiore nel lettore, ma mentre si fa clic sul gioco schermo/pausa funzionerà come normale

ecco i valori dei parametri di controllo:

  • controlli = 0 - I controlli del giocatore non vengono visualizzati nel lettore. Per i lettori AS3 , il player Flash viene caricato immediatamente.
  • controlli = 1 - I controlli del lettore vengono visualizzati nel lettore. Per i giocatori AS3, , il player Flash viene caricato immediatamente.
  • controlli = 2 - I controlli del lettore vengono visualizzati nel lettore. Per i lettori AS3, , il lettore Flash si carica dopo che l'utente ha avviato la riproduzione del video.

controllo questo articolo questo è davvero utile https://developers.google.com/youtube/player_parameters

22

Puoi provare a mettere un contenitore div sul video senza niente. In altre parole, un contenitore vuoto ha le stesse dimensioni del video stesso. Ciò che questo dovrebbe fare è quando qualcuno cerca di fare clic su di esso, in realtà farà clic sul contenitore trasparente su di esso e non sarà in grado di mettere in pausa. Questo dovrebbe funzionare. Potrebbe anche essere necessario modificare lo z-index per accertarsi che il contenitore div vuoto sia realmente sopra il video. (Testare prima il contenitore div con un colore di sfondo e se la scatola colorata copre il video, allora puoi tornare indietro e rimuovere il colore e funzionerà allo stesso modo.) Buona fortuna.

Inoltre, impostare il parametro disablekb su 1 in modo che l'utente non possa mettere in pausa anche dalla barra spaziatrice.

+2

Avvolgi il giocatore in un contenitore con eventi puntatore: nessuno; – donleche

+3

Ciò viola i termini di servizio di YouTube? – JAL

10

Usa la seguente:

ytplayer {pointer-events: none;} 
+0

per me funziona con questo: 'iframe {pointer-events: none;}' –

0

Ecco un modo per bloccare lo schermo in modo che l'utente non può fare clic su qualsiasi cosa.

// block screen so user cant click 
var blockDiv = $(document.createElement('div')) 
     .attr('id', 'blockDiv') 
     .height('100%').width('100%') 
     .css({'z-index':'3333', 'position' : 'absolute', 'top': '0', 'left':'0'}); 
$('body').append(blockDiv); 
4

Se stai visualizzazione di video tramite HTML e avere accesso alla classe CSS utilizzata per visualizzare la video, è possibile effettuare le seguenti operazioni.

tuo HTML sarà simile a questo:

<iframe id="ytplayer" type="text/html" width="720" height="405" 
src="https://www.youtube.com/watch?v=z4O-5eV4LiA" 
frameborder="0" allowfullscreen> 

aggiungere un nome di classe di vostra scelta, scelgo YTPlayer

class="ytplayer" 

che sarà simile alla seguente con il mio esempio

<iframe class="ytplayer" id="ytplayer" type="text/html" width="720" height="405" 
src="https://www.youtube.com/watch?v=z4O-5eV4LiA" 
frameborder="0" allowfullscreen> 

Quindi nel tuo file CSS aggiungi le regole per modificare la tua classe. Ho usato ytplayer ma puoi scegliere un nome di classe diverso, assicurati che corrisponda a quello che hai usato sopra.

.ytplayer { 
pointer-events: none; 
position: absolute; 
} 

Che dovrebbe farlo.