2014-05-14 2 views
5

Attualmente sto usando l'API You-Tube per un mio progetto. Il modo in cui lo uso è la seguente:API YouTube Imposta ora corrente

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; 
var alternatePlayer; 
function onYouTubeIframeAPIReady() { 
    player = new YT.Player('player', { 
     height: '390', 
     width: '640', 
     videoId: 'M7lc1UVf-VE', 
     events: { 
      'onReady': onPlayerReady 
     } 
    }); 

} 

// 4. The API will call this function when the video player is ready. 
function onPlayerReady(event) { 
    event.target.playVideo(); 
} 

Tutto funziona bene, ma per il mio progetto ho bisogno di essere in grado di controllare l'ora corrente che il video è in riproduzione. Ho cercato le note e i dati dell'API di You-Tube ma non sono riuscito a trovare un parametro né una funzione che mi consenta di impostare l'ora corrente del video (C'è un GET per l'ora corrente ma non un set). C'è un parametro startseconds che quando menzionato nella creazione di youtube (intendo vicino all'altezza, larghezza, videoId dei parametri) può controllare da che secondo inizia il video. Questo non si adatta alle mie esigenze perché ho bisogno di cambiare l'ora corrente del video SAME e non caricarne un altro. C'è un modo per aggirare questo? Mi manca questa funzione set? Devo richiamare lo stesso video ID con lo startseconds? Grazie mille in anticipo per qualsiasi luce su questa materia.


EDIT: Va bene, ho trovato la soluzione in qualche modo strano. Per qualche motivo, non lo vedo menzionato sull'API di You-Tube.

player.seekTo(55,true); 

Questo codice cambierà il giocatore you-tube a 55 secondi, che è un insieme per l'ora corrente. Grazie a tutti per il vostro tempo.

+0

non si conoscono le API esattamente. Dai un occhiata ai Librerie Javascript Open Source, che offrono supporto per youtube. (Cursori ecc.). La mia ipotesi rapida e sporca è quella di ricaricare il frame con il parametro startseconds modificato, ma non è bello. –

+0

Grazie per il commento. Ho cercato ma senza fortuna finora .. – Oranges

risposta

7

Date un'occhiata nelle seguenti documenti:

In primo luogo è necessario un riferimento JS all'oggetto Player. Per un avvio rapido, si prega di dare un'occhiata alla seguente domanda:

Con questo riferimento si può fare:

player.seekTo(42); //Go to 42 seconds 
+0

Grazie mille, ho trovato fortunatamente la soluzione prima di te. Ho accettato la tua risposta! – Oranges

+0

Sì, l'ho visto :) Iniziato a trovare la soluzione quando hai scritto l'ultimo commento. Ad ogni modo, avrei bisogno di questo da solo in breve tempo: D –