Vai al contenuto

Incorporare player youtube con riproduzione casuale di una playlist!


karmax

Messaggi raccomandati

Un saluto a tutti!!

grazie all'aiuto di alcuni di voi ho messo su una piccola base per il mio sito web ed ora sto combattendo con integrare il player youtube con opzione shuffle!

Prima di tutto ho inserito il frame come suggeriscono sul sito

<iframe id="player" type="text/html" width="640" height="360"
src="https://www.youtube.com/embed/?listType=playlist&list=PLBA9E733B5C8314DE&autoplay=1&modestbranding=1"
frameborder="0" allowfullscreen>

ora però quando apro la pagina la playlist parte sempre con lo stesso ordine mentre io vorrei che partisse in ordine casuale!

Sapete come posso fare?

Grazie :)

Le mie foto Flickr

Link al commento
Condividi su altri siti

sicuro che si possa ancora fare?

io sapevo che da un paio d'anni non era più possibile la riproduzione casuale dei video in una playlist di youtube.... a meno che non abbiano aggiunto (o meglio ripristinato) questa funzione di recente....

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

sì, sfruttando l'api di youtube sembrerebbe possibile.... ma farlo funzionare temo sia un'altro paio di maniche.

questo dovrebbe essere il codice corretto (notare che devi avere il file swfobject.js scaricabile da internet, e la prova devi farla su un effettivo webserver a causa di limitazioni imposte da Adobe sui file locali):

<script type="text/javascript" src="swfobject.js"></script>  
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
<script type="text/javascript">
var params = { allowScriptAccess: 'always',
allowFullScreen: 'true' };
var atts = { id: 'myytplayer' };
swfobject.embedSWF("https://www.youtube.com/v/videoseries?listType=playlist&list=PLBA9E733B5C8314DE&autoplay=1&modestbranding=1&enablejsapi=1&playerapiid=ytplayer&version=3", "ytapiplayer", "640", "360", "8", null, null, params, atts);
function onYouTubePlayerReady(myytplayer) {
ytSwfPlayer = document.getElementById( 'myytplayer' );
ytSwfPlayer.setShuffle(1);
}
</script>

funziona tutto, ma non fa lo shuffle.....e non si capisce il perché.

prova a chiedere nel forum di supporto offerto da google:

http://productforums...#!forum/youtube

oppure su stackoverflow, magari qualcuno riesce a scoprire l'arcano....

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

intanto ti ringrazio! :ooooh:

Avrei sbattuto la testa per anni non sapendo che in locale non avrebbe potuto funzionare!!!

per quanto riguarda la riproduzione casuale sul forum di youtube non c'è granché

sulla guida ho letto

player.setShuffle(shufflePlaylist:Boolean):Void
This function indicates whether a playlist's videos should be shuffled so that they play back in an order different from the one that the playlist creator designated. If you shuffle a playlist after it has already started playing, the list will be reordered while the video that is playing continues to play. The next video that plays will then be selected based on the reordered list.
This setting will not persist if you load or cue a different playlist, which means that if you load a playlist, call the setShuffle function, and then load a second playlist, the second playlist will not be shuffled.
The required shufflePlaylist parameter indicates whether YouTube should shuffle the playlist.
If the parameter value is true, then YouTube will shuffle the playlist order. If you instruct the function to shuffle a playlist that has already been shuffled, YouTube will shuffle the order again.
If the parameter value is false, then YouTube will change the playlist order back to its original order.

The required shufflePlaylist parameter indicates whether YouTube should shuffle the playlist.

quindi mi sembra di aver capito che bisogna passargli il parametro shufflePlaylist ! Ma come?

ho provato scrivendo

player.setShuffle(shufflePlaylist:1)

ma mi da errore di sintassi!

:bangin:

Le mie foto Flickr

Link al commento
Condividi su altri siti

no, quella che leggi è la definizione generale in cui il parametro accettato dalla funzione viene chiamato shuffleplaylist (è solo un nome, niente più) e ti viene detto che può avere valori boolean ovvero true/false, 1/0

la chiamata vera e propria la si fa così:

ytSwfPlayer.setShuffle(1);

dove ytSwfPlayer deve essere un oggetto valido che punta all'id del player embedded.

Ripeto, il codice secondo me è corretto. Ma non funziona.

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

pare sia un baco delle API di youtube

Hi all,

Did some of you noticed that when you call

player.setShuffle(true);

and then

player.getPlaylist();

the playlist returned is not the shuffled one. If you pause a video or play the next one, whatever, now the getPlaylist will return the shuffled list.

Is the function cached or does it wait for an event before doing the shuffling?

The only way I found to force it is doing :

player.setShuffle(1).pauseVideo().playVideo()

But then, obviously, there's a glitch in the sound, you can here a clipping of the pause, play thing.

I've also tried to shuffle the playlist myself and pushing this new list to the player, but doing this causes the playing video to stop.

Did someone found a other way of manipulating shuffled playlists?

Have a nice day,

Phil

ho provato a riprodurre quello che dice questo utente ma comunque non vuole saperne di funzionare.

Le mie foto Flickr

Link al commento
Condividi su altri siti

ci avevo già provato....e ho provato anche diverse altre strade.

se vuoi risolvere (forse) segui il mio consiglio e chiedi allo staff di google oppure su stackoverflow.

altrimenti rinuncia allo shuffle.

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

grazie

sei stato gentilissimo

:)

ci avevo già provato....e ho provato anche diverse altre strade.

se vuoi risolvere (forse) segui il mio consiglio e chiedi allo staff di google oppure su stackoverflow.

altrimenti rinuncia allo shuffle.

Le mie foto Flickr

Link al commento
Condividi su altri siti

stavo provando una soluzione di questo tipo

ytSwfPlayer = document.getElementById( 'myytplayer' );
ytSwfPlayer.setShuffle(1);
playlist = ytSwfPlayer.getPlaylist();
ytSwfPlayer.loadPlaylist(playlist);

ma ho problemi per la scarsa conoscenza della sintassi!

Che ne pensi? il ragionamento ci può stare?

Le mie foto Flickr

Link al commento
Condividi su altri siti

in linea teorica un senso non ce l'ha, perché la playlist è già stata richiamata e caricata durante l'embed del player, e nella funzione onYouTubePlayerReady che viene chiamata appena il player è pronto noi chiediamo lo shuffle dei brani prima di iniziare a riprodurli.

O almeno così è come dovrebbe funzionare secondo le specifiche dell'api.

poi se c'è un qualche bug puoi provare a procedere per tentativi.... ma la vedo dura.

aspetta e vedi se sul forum di google sanno dirti qualcosa, perché per venirne a capo servono informazioni che al momento non abbiamo.

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

ho ricevuto questa risposta

This appears to be a bug in the player. I've reported this bug to the team. In the future you can report bugs at https://code.google.com/p/gdata-issues/issues/entry?template=YouTube%20(Defect%20Report)

As a work around you could use the JS api to shuffle it yourself. When a video ends you can callplayVideoAt and pass a random number.

diciamo che ora la cosa si complica....

Le mie foto Flickr

Link al commento
Condividi su altri siti

ho ricevuto questa risposta

diciamo che ora la cosa si complica....

se nei prossimi giorni trovo un po' di tempo guardo l'api e ti passo qualche riga di codice per farlo.

sempre che gli amici di google non abbiano voglia di fornirtelo loro, il codice :rolleyes:

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

se dovesse servire a qualcuno, per bypassare parzialmente il bug di setshuffle

function myFunction()
{
var x = Math.round(10*Math.random());
return x;
}
</script>
<body>
<div class="contenitore" id="contenitore"></div>
<script type="text/javascript" src="swfobject.js"></script> 
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
<script type="text/javascript">
var params = { allowScriptAccess: 'always',
allowFullScreen: 'true' };
var atts = { id: 'myytplayer' };
swfobject.embedSWF("https://www.youtube.com/v/videoseries?listType=playlist&list=PLBA9E733B5C8314DE&autoplay=1&modestbranding=1&enablejsapi=1&playerapiid=ytplayer&version=3", "ytapiplayer", "640", "360", "8", null, null, params, atts);
function onYouTubePlayerReady(myytplayer) {
    ytSwfPlayer = document.getElementById( 'myytplayer' );
    ytSwfPlayer.setShuffle(1);
    ytSwfPlayer.setLoop(1);
    var index = myFunction();
    ytSwfPlayer.playVideoAt(index);
}
</script>

non risolve pienamente il problema in quanto è solo il video di partenza a cambiare di volta in volta ma in realtà poi la lista è la stessa!

In qualche modo bisognerebbe generare un nuovo indice quando il video termina.

Le mie foto Flickr

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...