Eléphant du PHP |
188 Messages
19 déc. 2011, 17:33
C'est bon j'ai réussi a créer le fichier XML avec la classe, le DewPlayer le lit mais malheuresement la chanson parait vide : le lecteur avance mais aucune musique ne sort (et le temps affiché est 00/00) alors que le fichier musique original fonctionne parfaitement ...
Code de creation du fichier XML et du Dew :
<?php
//recuperation des id des chansons de cette playlist
$sql = 'SELECT * FROM musplay WHERE id_playlist='.$connexion->quote($id_req);
$req3 = $connexion->query($sql);
$req3->setFetchMode(PDO::FETCH_OBJ);
$count = $req3->rowCount();
//creation de l'adresse du fichier XML temporaire pour la lecture de la playlist
// $adresse_xml = 'Code/xml/temp_'.$_SESSION['id'];
$adresse_xml = '../xml/temp_'.$_SESSION['id'].'.xml';
//commencement du fichier XML (avec classe_xml.php)
include('classe_xml.php');
$xml = new creer_xml($adresse_xml,'playlist');
$xml->ligne('title',$titre_playlist);
$xml->ligne('creator','');
$xml->ligne('link','');
$xml->ligne('info','');
$xml->ligne('image','');
$xml->entrer('trackList');
while($data = $req3->fetch())
{
//recuperation des infos de la chanson
$sql = 'SELECT * FROM chansons WHERE id='.$data->id_chanson;
$req4 = $connexion->query($sql);
$req4->setFetchMode(PDO::FETCH_OBJ);
$donnees = $req4->fetch();
$adresse_chanson = $donnees->adresse_chanson;
$adresse_chanson = '/'.$adresse_chanson;
$titre_chanson = $donnees->titre;
$titre_album = $donnees->titre_album;
$artiste = $donnees->artiste;
$description = $donnees->description;
$id_album = $donnees->id_album;
$req4->closeCursor();
//recuperation de l'image de l'album de la chanson
$sql = 'SELECT adresse_img FROM album WHERE id='.$id_album;
// echo $sql;
$req5 = $connexion->query($sql);
$req5->setFetchMode(PDO::FETCH_OBJ);
$donnees2 = $req5->fetch();
$adresse_img = $donnees2->adresse_img;
$req5->closeCursor();
//creation du bloc XML correspondant
$xml->entrer('track');
$xml->ligne('location',$adresse_chanson);
$xml->ligne('creator',$artiste);
$xml->ligne('album',$titre_album);
$xml->ligne('title',$titre_chanson);
$xml->ligne('annotation',$description);
$xml->ligne('duration','');
$xml->ligne('image',$adresse_img);
$xml->ligne('info','');
$xml->ligne('link','');
$xml->sortir();
}
//fermeture et enregistrement du XML
$xml->sortir();
$xml->creerlefichier();
$adresse_xml = '/Code/xml/temp_'.$_SESSION['id'].'.xml';
//partie XML finie, affichage du DewPlayer
?>
<object type="application/x-shockwave-flash" data="dewplayer-playlist-cover.swf" width="240" height="500" id="dewplayer" name="dewplayer">
<param name="wmode" value="transparent" />
<param name="movie" value="dewplayer-playlist-cover.swf" />
<param name="flashvars" value="xml=<?php echo $adresse_xml; ?>&autostart=1&showtime=1" />
</object>
<?php
Fichier XML qu'il me sors : (le code n'est (malheuresement) pas indenté et n'a même pas de sauts de lignes, mais ça n'a rien a voir (je pense) avec le problème donc je laisse comme ça) :
Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-2"?>
<playlist>
<title>test</title>
<creator></creator>
<link></link>
<info></info>
<image></image>
<trackList>
<track>
<location>/Code/musiques/MattRach__TheNewCanonRock_1.mp3</location>
<creator>test</creator>
<album>ge</album>
<title>aerfe</title>
<annotation>empty</annotation>
<duration></duration>
<image>empty</image>
<info></info>
<link></link>
</track>
<track>
<location>/Code/musiques/MattRach__TheNewCanonRock.mp3</location>
<creator>test</creator>
<album>ss</album>
<title>song</title>
<annotation>empty</annotation>
<duration></duration>
<image>empty</image>
<info></info>
<link></link>
</track>
</trackList>
</playlist>
Quelqu'un a une idée ? Merci
