MP3 aléatoire au chargement de la page

Fermé
Janus - 4 nov. 2008 à 10:40
blet Messages postés 294 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 1 octobre 2010 - 18 nov. 2008 à 12:05
Bonjour,

j'essaye de programmer en php un script qui permettrait de lire un court fichier son (jingleX dans le code) à chaque chargement de la page.
J'ai bien trouvé le lecteur MP3 web suivant :
http://musicplayer.sourceforge.net/#documentation
Il permet de lire une playlist, tous les fichiers d'un dossier grâce à un fichier XSPF. J'ai testé ça marche. Mais il me les lit tous en aléatoire. Je cherche à n'en lire qu'un à chaque fois.
Alors j'ai pensé utiliser ce lecteur en mode "single file" grâce au paramètre song_url = et définir ce fichier de façon aléatoire grâce au php.

Alors voilà le code que j'ai pondu :
<?php
$jingle_choisi = "$result=round(rand(1,3));
    if ($result==1) { echo "jingle1.mp3"; }
    if ($result==2) { echo "jingle2.mp3"; }
    if ($result==3) { echo "jingle3.mp3"; }";
?>

    <object type="application/x-shockwave-flash" width="400" height="170"
    data="http://mondomaine.com/xspf_player.swf?song_url=http://mondomaine.com/<?php
echo "$jingle_choisi";
?>">
    <param name="movie"
    value="http://mondomaine.com/xspf_player.swf?song_url=http://mondomaine.com/<?php
echo "$jingle_choisi";
?>" />
    </object>


Pensez-vous que ça pourrait fonctionner (je n'ai pas encore pu l'envoyer sur mon serveur pour tester) ? Je balbutie en php, alors si vous voyez des erreurs ou si vous avez des améliorations à y apporter je vous en remercie d'avance !
A voir également:

5 réponses

BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010 110
4 nov. 2008 à 10:45
Salut,

si dans ton script tu mets :

<?php
$jingle_choisi = "$result=round(rand(1,3));
    if ($result==1) { echo "jingle1.mp3"; }
    elseif ($result==2) { echo "jingle2.mp3"; }
    elseif ($result==3) { echo "jingle3.mp3"; }";
?>


a la place de :

<?php
$jingle_choisi = "$result=round(rand(1,3));
    if ($result==1) { echo "jingle1.mp3"; }
    if ($result==2) { echo "jingle2.mp3"; }
    if ($result==3) { echo "jingle3.mp3"; }";
?>


ca donne koi ?
0
Mon code :

<php>
<body>

<?php
$jingle_choisi = "$result=round(rand(1,3));
    if ($result==1) { echo "jingle1.mp3"; }
    elseif ($result==2) { echo "jingle2.mp3"; }
    elseif ($result==3) { echo "jingle3.mp3"; }";
?>

<object type="application/x-shockwave-flash" width="400" height="170"
data="http://mondomaine.com/xspf_player_slim.swf?&autoplay=true&song_url=<?php
echo "$jingle_choisi";
?>">
<param name="movie" 
value="http://mondomaine.com/xspf_player_slim.swf?&autoplay=true&song_url=<?php
echo "$jingle_choisi";
?>" />
</object>
</body>
</php>


Quand j'enregistre le fichier en .html il m'ouvre la page, fait apparaitre le lecteur mais ne lit pas de piste, que je mette if ou esleif

Quand j'enregistre le fichier en .php ça donne :
Parse error: syntax error, unexpected T_STRING in /mnt/152/free.fr/b/4/mondomaine/essai son 5.php on line 6
0
BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010 110 > Janus
4 nov. 2008 à 12:02
en html c' normal que t'es pas de son

syntax error line 6

fais voir la ligne 6 de ton code
0
Janus > BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010
4 nov. 2008 à 12:13
Bah voici les lignes 5, 6 et 7 :
$jingle_choisi = "$result=round(rand(1,3));
    if ($result==1) { echo "jingle1.mp3"; }
    elseif ($result==2) { echo "jingle2.mp3"; }


Cela dit j'ai sauté une ligne (la ligne 3 vide) alors je ne sais pas si elle est comptabilisée par php ou pas.
0
BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010 110 > Janus
4 nov. 2008 à 15:40
$jingle_choisi = " $result=round(rand(1,3));
if ($result==1) { echo "jingle1.mp3"; }
elseif ($result==2) { echo "jingle2.mp3"; }


la jsui au taf, mais jme demande si c'est c'est normal
0
Bien vu !

J'ai donc viré ces guillemets mais maintenant je tombe sur ça :
Parse error: syntax error, unexpected T_STRING in /mnt/152/free.fr/b/4/mondomaine/essai son 5.php on line 11


J'ai numéroté les lignes à la main dans ce post pour plus de lisibilité du code :
1 <php>
2 <body>
3
4 <?php
5 $jingle_choisi = $result=round(rand(1,3));
6    if ($result==1) { echo "jingle1.mp3"; }
7    elseif ($result==2) { echo "jingle2.mp3"; }
8    elseif ($result==3) { echo "jingle3.mp3"; }";
9 ?>
10
11 <object type="application/x-shockwave-flash" width="400" height="170"
12 data="http://mondomaine.com/xspf_player_slim.swf?&autoplay=true&song_url=<?php
13 echo "$jingle_choisi";
14 ?>">
15 <param name="movie" 
16 value="http://mondomaine.com/xspf_player_slim.swf?&autoplay=true&song_url=<?php
17 echo "$jingle_choisi";
18 ?>" />
19 </object>
20 </body>
21 </php>

Merci pour le coup de main ;-)
0
BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010 110
11 nov. 2008 à 14:40
non non les guillemets fallait les laisser .. mais surtout les refermer en fait je pense
0
J'ai toujours pas réussi à débuger mon code.
C'est la balise <object> que php ne connait pas ?!?
0
BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010 110
11 nov. 2008 à 14:43
<object
type="application/x-shockwave-flash"
width="400"
height="170"
data="http://mondomaine.com/xspf_player_slim.swf?&autoplay=true&song_url=<?php echo $jingle_choisi; ?>">


vu que avec echo tu veux afficher seulement une variables dans ce cas tu n'as pas besoin de guillemets

pareil pour les lignes au dessus
0
Janus > BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010
11 nov. 2008 à 18:28
J'ai testé la version suivante en rajoutant un echo autours du code html mais ça donne ça :

Parse error: syntax error, unexpected T_STRING in /mnt/152/free.fr/b/4/traficampeurs/sons/essai son 5.php on line 10

1 <php>
2 <body>
3 <?php
4 $jingle_choisi = $result=round(rand(1,3));
5    if ($result==1) { echo "http://mondomaine.com/jingle1.mp3"; }
6    elseif ($result==2) { echo "http://mondomaine.com/jingle2.mp3"; }
7    elseif ($result==3) { echo "http://mondomaine.com/jingle3.mp3"; }";
8 
9 { echo
10 <object type="application/x-shockwave-flash"
11 data="http://mondomaine.com/musicplayer.swf?&autoplay=true&song_url=<?php echo $jingle_choisi ?>" 
12 width="17" height="17">
13 <param name="movie" 
14 value="http://mondomaine.com/musicplayer.swf?&autoplay=true&song_url=<?php echo $jingle_choisi 15 ?>" />
16 <img src="noflash.gif" />
17 </object>
18 };
19 ?>
20
21 </body>
22 </php>
0
UP.
Quelqu'un aurait-il une idée de débugage ?
Merci.
0

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

Posez votre question
blet Messages postés 294 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 1 octobre 2010 28
18 nov. 2008 à 12:05
tu es chez free...
0