Appeler une focntion getURL dans un fichier xml

Castrum1 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 11 octobre 2009 - 10 oct. 2009 à 18:08
Castrum1 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 11 octobre 2009 - 11 oct. 2009 à 15:22
Bonjour à tous,

Voilà pour schématiser, j'ai un lecteur mp3 en flash avec une playlist récupérée par un fichier xml. Les données des chansons, du type nom,durée,numéros de chanson dans le fichier xml sont affichées dans un clip"liste", ce que je voudrais moi c'est intégrer dans ces données un lien cliquable donc une URL vers un site, celui de l'artiste par exemple.
Donc je mettrais

<?xml version="1.0" encoding="iso-8859-1"?>

<chanson num="1" nom="chanson" url= "http.www.lien.com" fichier="01.mp3" time="4:25" />




Le problème c'est que je n'arrive pas à rendre la variable "url" cliquable dans la playlist du lecteur, j'ai essayer de mettre un getUrl mais ça ne fonctionne pas.

je remercie d'avance ceux qui répondrons à mon souci.

MB

7 réponses

crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
11 oct. 2009 à 03:26
salut,

je ne sais pas si c'est voulu, mais le lien de type http.www.lien.com est erroné.

ensuite tu es en as2 ou en as3 (navigateToUrl en as3) ? quel est le code que tu utilises pour lancer ton getUrl ?
0
Castrum1 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 11 octobre 2009
11 oct. 2009 à 14:08
salut,

je suis en as2 enfait.

Voici le code:

document = new XML();
document.ignoreWhite = true;
document.load("play.xml?"+noCache());
document.url = getxmlurl(itemNodes.childNodes[i]);
document.onRelease = function() {
getURL(this.url, "_blank" );
}
document.onLoad = function(){
if(ok = true){
if(addTrack != "add"){
liste.removeAll();
}
playlist = this.firstChild.childNodes;
premiere = this.firstChild.firstChild;
enCours = premiere;
nb = liste.getLength();
for(i = 0; i < playlist.length; i++){
var n = parseInt(i) + parseInt(nb) + parseInt(1);
var fichier = searchAndReplace(enCours.attributes.fichier, "&", "&");
if(n <= 9)
liste.addItem('0' + n + ". " + enCours.attributes.nom, fichier);
else
liste.addItem(n + ". " + enCours.attributes.nom, fichier);
tTime[n-1] = enCours.attributes.time;
enCours = enCours.nextSibling;
}
}
for(j = 0; j < liste.getLength(); j++){
tListe[j] = j;
}
if(addTrack != "add"){
liste.setSelectedIndex(0);
userClic();
}
};
}

function searchAndReplace(holder, searchfor, replacement) {
temparray = holder.split(searchfor);
holder = temparray.join(replacement);
return (holder);
}

function setB(){
son.b1._y = 15;
son.b2._y = 15;
son.b3._y = 15;
son.b4._y = 15;
son.b5._y = 15;
son.b6._y = 15;
son.b7._y = 15;
son.b8._y = 15;
son.b9._y = 15;
son.b10._y = 15;
son.b11._y = 15;
son.b12._y = 15;
son.b13._y = 15;
son.b14._y = 15;
son.b15._y = 15;
son.b16._y = 15;
son.b17._y = 15;
son.b18._y = 15;
son.b19._y = 15;
son.b20._y = 15;
}

function launchB(){
sb1 = setInterval(fb1, 80);
sb2 = setInterval(fb2, 80);
sb3 = setInterval(fb3, 80);
sb4 = setInterval(fb4, 80);
sb5 = setInterval(fb5, 80);
sb6 = setInterval(fb6, 80);
sb7 = setInterval(fb7, 80);
sb8 = setInterval(fb8, 80);
sb9 = setInterval(fb9, 80);
sb10 = setInterval(fb10, 80);
sb11 = setInterval(fb11, 80);
sb12 = setInterval(fb12, 80);
sb13 = setInterval(fb13, 80);
sb14 = setInterval(fb14, 80);
sb15 = setInterval(fb15, 80);
sb16 = setInterval(fb16, 80);
sb17 = setInterval(fb17, 80);
sb18 = setInterval(fb18, 80);
sb19 = setInterval(fb19, 80);
sb20 = setInterval(fb20, 80);
}

function clearB(){
clearInterval(sb1);
clearInterval(sb2);
clearInterval(sb3);
clearInterval(sb4);
clearInterval(sb5);
clearInterval(sb6);
clearInterval(sb7);
clearInterval(sb8);
clearInterval(sb9);
clearInterval(sb10);
clearInterval(sb11);
clearInterval(sb12);
clearInterval(sb13);
clearInterval(sb14);
clearInterval(sb15);
clearInterval(sb16);
clearInterval(sb17);
clearInterval(sb18);
clearInterval(sb19);
clearInterval(sb20);
setB();
}

function fb1(){
var n = Math.round(Math.random() * 8);
son.b1._y = 7.6 + n;
}
function fb2(){
var n = Math.round(Math.random() * 11);
son.b2._y = 4.6 + n;
}
function fb3(){
var n = Math.round(Math.random() * 13);
son.b3._y = 2.6 + n;
}
function fb4(){
var n = Math.round(Math.random() * 15.6);
son.b4._y = n;
}
function fb5(){
var n = Math.round(Math.random() * 12);
son.b5._y = 3.6 + n;
}
function fb6(){
var n = Math.round(Math.random() * 15.6);
son.b6._y = n;
}
function fb7(){
var n = Math.round(Math.random() * 15.6);
son.b7._y = n;
}
function fb8(){
var n = Math.round(Math.random() * 11);
son.b8._y = 4.6 + n;
}
function fb9(){
var n = Math.round(Math.random() * 15.6);
son.b9._y = n;
}
function fb10(){
var n = Math.round(Math.random() * 15.6);
son.b10._y = n;
}
function fb11(){
var n = Math.round(Math.random() * 15.6);
son.b11._y = n;
}
function fb12(){
var n = Math.round(Math.random() * 15.6);
son.b12._y = n;
}
function fb13(){
var n = Math.round(Math.random() * 12);
son.b13._y = 3.6 + n;
}
function fb14(){
var n = Math.round(Math.random() * 12);
son.b14._y = 3.6 + n;
}
function fb15(){
var n = Math.round(Math.random() * 11);
son.b15._y = 4.6 + n;
}
function fb16(){
var n = Math.round(Math.random() * 15.6);
son.b16._y = n;
}
function fb17(){
var n = Math.round(Math.random() * 15.6);
son.b17._y = n;
}
function fb18(){
var n = Math.round(Math.random() * 8);
son.b18._y = 7.6 + n;
}
function fb19(){
var n = Math.round(Math.random() * 5);
son.b19._y = 10.6 + n;
}
function fb20(){
var n = Math.round(Math.random() * 3);
son.b20._y = 12.6 + n;
}

setHeight();

function setHeight(){
if(light == "true"){
Stage.align = "T";
fleche._yscale = -100;
fleche._y = 130.3;
totHeight = 135;
liste._height = 273.1;
}
}

Donc je ne dois pas mettre le lien directement dans le fichier xml?
0
Castrum1 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 11 octobre 2009
11 oct. 2009 à 14:15
Quand tu dis que le lien de type "http://www.lien.com" est erroné, tu veux dire qu'un lien ne se déclare pas de cette manière dans un xml?. Je pensais pouvoir intégrer ainsi un lien unique pour chaque chanson de la playslist.

je te remercie pour ton attention
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
11 oct. 2009 à 14:54
non c'est juste que ton lien dans le xml exemple que tu as mis était http.www.lien.com au lieu de http://www.lien.com

Pour cette ligne : document.url = getxmlurl(itemNodes.childNodes[i]);
Il faut savoir que url est un mot réservé d'as qui désigne l'url du document flash chargé.

Ensuite tu fais :
document = new XML();
document.onRelease = function ....

l'objet xml n'a pas d'évènement onRelease, ce n'est pas un objet visible.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Castrum1 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 11 octobre 2009
11 oct. 2009 à 14:57
ah ok, alors comment puis-je faire pour déclarer la variable "url" du fichier xml dans mon code actionscript?
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
11 oct. 2009 à 15:12
J'aurai fait un objet "lecteur" personnellement, mais tu peux simplement créer un tableau qui va contenir chacune des valeurs des liens :

var liens:Array = new Array();

pour chaque url :

liens.push(lien_url);

et pour y accéder :

liens[XX] où XX est le numéro de ta musique par exemple.


Par objet cela te permettrait de créer autant d'objet "musiques" qu'il y a de lien :

class Musiques {
var elements:Array;
function Musiques() {
elements = new Array();
}
function add(noeud:XMLNode) {
var objet:Object = new Object();
objet.titre = noeud.attributes.titre;
objet.lien= noeud.attributes.url;
etc...
elements.push(objet);
}
}

dans ton code principal :

var listeMusique:Musiques = new Musiques();
for (chaque musique dans le xml) {
listeMusique.add(noeudXML);
}
pour en récupérer un en particulier :
listeMusique.elements[8] représente le 9e élément enregistré.
0
Castrum1 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 11 octobre 2009
11 oct. 2009 à 15:22
Merci pour cette piste je vais plancher là dessus, encore merci.
0
Rejoignez-nous