11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde,

J'utilise actuellement sur une des mes applications web le lecteur Open Source JPlayer.
Il fonctionne avec JQuery et celui-ci est pilotable par Javascript.
Je possède une liste UL de mes musiques. Sur chaque musique (LI), une fonction jouer_titre(); avec comme paramètre le lien de cette musique est exécuté par un évènement onclick.
Cette fonction la voici :
function jouer_titre(musique)
{
	//Destruction de l'objet précédent
	$("#jquery_jplayer_1").jPlayer("destroy");
	var file = musique;
	//Traitement de la chaîne de caractère pour affichage du nom dans le lecteur
        var nom_musique=file.substring(file.lastIndexOf("/"));
	nom_musique=Remplace(nom_musique,"/","");
	nom_musique=Remplace(nom_musique,".mp3","");
	nom_musique=Remplace(nom_musique,"_"," ");
        document.getElementById('jp-title').innerHTML = nom_musique;
	//Remplacement du son par le nouveau
	$("#jquery_jplayer_1").jPlayer({
			ready: function (event) {
				$(this).jPlayer("setMedia", {
					mp3:musique
				});
			},
			swfPath: "js",
			supplied: "mp3",
			wmode: "window"
		});
	//Chargement du nouveau son
	$("#jquery_jplayer_1").jPlayer("load");
	//Lecture du nouveau son
	$("#jquery_jplayer_1").jPlayer("play");
}


Le problème ici, c'est que le son n'est pas joué.
Le son d'avant est bien détruit, le nouveau son est bien remplacé et bien chargé, mais pas mis en lecture.
Bizarrement, quand moi j'appuie sur le bouton lecture du player, le nouveau ce lance.
Cette méthode "play" du lecteur JPlayer fonctionne très bien toute seule, mais pas ici.
Si quelqu'un a une idée, je sèche. Smiley sweatdrop

Merci d'avance.
Modifié par Kikimagik (13 Dec 2012 - 22:27)
Bon finalement, j'ai trouvé seul mon problème. Je ne jouais pas la fonction "play" au bon endroit pour faire un "autoplay" lors du onclick sur la musique choisie.
Pour ceux qui passerons par là, voilà le résultat :
function jouer_titre(musique)
{
	//Destruction de l'objet précédent
	$("#jquery_jplayer_1").jPlayer("destroy");
	var file = musique;
	//Traitement de la chaîne de caractère pour affichage du nom dans le lecteur
        var nom_musique=file.substring(file.lastIndexOf("/"));
	nom_musique=Remplace(nom_musique,"/","");
	nom_musique=Remplace(nom_musique,".mp3","");
	nom_musique=Remplace(nom_musique,"_"," ");
        document.getElementById('jp-title').innerHTML = nom_musique;
	//Instance d'un nouvel objet avec autoplay
	$("#jquery_jplayer_1").jPlayer({
		ready: function (event) {
			$(this).jPlayer("setMedia", {
				mp3:musique
			})[b].jPlayer("play")[/b];
		},
		swfPath: "js",
		supplied: "mp3",
		wmode: "window"
	});
}

Modifié par Kikimagik (13 Dec 2012 - 22:25)