Listengen générateur de fichier playlist

Description

LisTenGEN
Générateur de fichier playlist pour webradio
Extension compatible : .pls, .m3u, .m3u8, .ram, .qtl, asx, wax, wpl.

Source / Exemple :


<?PHP
// LisTenGEN Par AGGFR1 V1.1
// 
// Générateur de fichier playlist pour webradio
// Extension compatible : .pls, .m3u, .m3u8, .ram, .qtl, asx, wax, wpl.
//
// Configuration du nom de la radio ---
//
$name = "MixxRadioGold - http://www.mixxradiogold.fr";
//
// Configuration des ip ou host des serveurs ---
//
$serveur["1"] = "http://87.98.216.73:2000/mrg";
$serveur["2"] = "http://88.191.24.183:8050";
$serveur["3"] = "http://213.251.163.105/mixxradiogold?MSWMExt=.asf";
//
// Fin de la configuration ---
//

$extension = $_GET["ex"];
$extension = strtolower($extension);
$extension = str_replace(".", "", $extension);
$file = "";

// Extension PLS
if($extension == "pls"){
 $successful = "yes";
 $countpls = 0;
 $header = "Audio/x-scpls";
 $file .= "[playlist]"."\r\n";
 while(list($id,$host) = each($serveur)) {
  $countpls++;
  $file .= "File".$countpls."=".$host."\r\n";
  $file .= "Title".$countpls."=".$name."\r\n";
  $file .= "Length".$countpls."=0"."\r\n";
 }
 $file .= "NumberOfEntries=".$countpls."\r\n";
 $file .= "Version=2"."\r\n";
}

// Extension M3U
if($extension == "m3u" || $extension == "m3u8"){
 $successful = "yes";
 $header = "Audio/x-mpegurl";
 $file .= "#EXTM3U"."\r\n";
 while(list($id,$host) = each($serveur)) {
  $file .= "#EXTINF:0,".$name."\r\n";
  $file .= $host."\r\n";
 }
}

// Extension RAM
if($extension == "ram"){
 $successful = "yes";
 $header = "Audio/x-pn-realaudio";
 while(list($id,$host) = each($serveur)) {
  $file .= $host."\r\n";
 }
}

// Extension QTL
if($extension == "qtl"){
 $successful = "yes";
 $header = "Application/x-quicktimeplayer";
 $serveur[1] = str_replace("http://", "", $serveur[1]);
 $file .= '<?xml version="1.0"?>'."\r\n";
 $file .= '<?quicktime type="application/x-quicktime-media-link"?>'."\r\n";
 $file .= '<embed src="icy://'.$serveur[1].'" autoplay="true" />'."\r\n";
}

// Extension ASX
if($extension == "asx" || $extension == "wax" ){
 $successful = "yes";
 $countasx = 0;
 $header = "Video/x-ms-asf";
 $file .= '<asx version="3.0" previewmode="no">'."\r\n";
 $file .= " <title>$name</title>"."\r\n";
 $file .= " <copyright>$name</copyright>"."\r\n";
 $file .= " <author>$name</author>"."\r\n";
 $file .= " <abstract>$name</abstract>"."\r\n";
 $file .= ' <param name="AllowShuffle" value="no"/>'."\r\n";
 while(list($id,$host) = each($serveur)) {
  $countasx++;
  $file .= ' <entry clientSkip="no">'."\r\n";
  $file .= '  <ref href="'.$host.'"/>'."\r\n";
  $file .= "  <title>Stream ".$countasx." de ".$name.'</title>'."\r\n";
  $file .= " </entry>"."\r\n";
 }
 $file .= "</asx>"."\r\n";
}

// Extension wpl
if($extension == "wpl"){
 $successful = "yes";
 $countwpl = 0;
 $seq = "";
 $header = "Application/vnd.ms-wpl";
 while(list($id,$host) = each($serveur)) {
  $countwpl++;
  $seq .= '   <media src="'.$host.'"/>'."\r\n";
 }
 $file .= '<?wpl version="1.0"?>'."\r\n";
 $file .= "<smil>"."\r\n";
 $file .= " <head>"."\r\n";
 $file .= '  <meta name="Generator" content="LisTenGEN By AGGFR1"/>'."\r\n";
 $file .= '  <meta name="AverageRating" content="0"/>'."\r\n";
 $file .= '  <meta name="TotalDuration" content="0"/>'."\r\n";
 $file .= '  <meta name="ItemCount" content="'.$countwpl.'"/>'."\r\n";
 $file .= '  <author>'.$name.'</author>'."\r\n";
 $file .= '  <title>'.$name.'</title>'."\r\n";
 $file .= ' </head>'."\r\n";
 $file .= ' <body>'."\r\n";
 $file .= '  <seq>'."\r\n";
 $file .= $seq;
 $file .= '  </seq>'."\r\n";
 $file .= ' </body>'."\r\n";
 $file .= "</smil>"."\r\n";
}

// Extension non compatible
if($successful != "yes"){
 $file .= "<html><head>"."\r\n";
 $file .= "<title>$name :: LisTenGEN Par AGGFR1 V1.1<title>"."\r\n";
 $file .= "</head><body>"."\r\n";
 $file .= "<h1>$name</h1>"."\r\n";
 $file .= '<p><b><font color="red">Erreur : Extension non compatible</font></b></p>'."\r\n";
 $file .= '<p>Extension compatible : <a href="?ex=pls">.pls</a>, <a href="?ex=m3u">.m3u</a>, <a href="?ex=m3u8">.m3u8</a>, <a href="?ex=ram">.ram</a>, ';
 $file .= '<a href="?ex=qtl">.qtl</a>, <a href="?ex=asx">.asx</a>, <a href="?ex=wax">.wax</a>, <a href="?ex=wpl">.wpl</a></p>'."\r\n";
 $file .= "<hr>"."\r\n";
 $file .= "<address>LisTenGEN Par AGGFR1 V1.1</address>"."\r\n";
 $file .= "</body></html>"."\r\n";
}

// Ecriture
header("Generated-By: LisTenGEN Par AGGFR1 V1.1");
if($successful == "yes"){
 header("Content-type: $header");
 header('Content-Disposition: Filename="play.'.$extension.'"');
}
echo $file;
//
// Fin
//
?>

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.