Vous n'êtes pas identifié(e).
Voici un exemple de méthode pour titrer sur un serveur différent de ceux pris en charge nativement par Webradiotools (comme handle_url_tag($matches[1]))
Prenons comme modèle l'URL de titrage suivante :
http:/ /metadatas.tv-radio.com/cgi-bin/metadatas-httprequest.pl?utilisateur=XXXXXX&artist_name=YYYYY&song_title=ZZZZZ&duration=X:YZ
Avec Webradiotools 2.0.5.0 ou version ultérieure :
1. Dans l'onglet Titrage -> Serveurs de diffusion, cliquez sur le bouton PHP... puis enregistrez le fichier sur votre disque dur.
Ce script utilise php 5 : utilisez l'extension php5 plutôt que php si votre serveur requiert cette extension pour les fichiers de ce type.
2. Ouvrez le fichier avec un éditeur basique (le bloc notes par exemple) puis remplacez-le comme suit :
<?php
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
///////////////////////// WebRadioTools //////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
///////////////////// http://www.webradiotools.soft-micro.fr ////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
$file_title ='title.txt'; // CHMOD 777
$file_broadcast='emission.txt'; // CHMOD 777
$file_onair ='onair.xml'; // CHMOD 777
function duree($secondes)
{
$result='';
$temps = $secondes % 3600;
$heures = ($secondes - $temps) / 3600 ;
$secondes = $temps % 60 ;
$minutes = ($temps - $secondes) / 60;
if ($heures!=0) $result.=$heures;
if ($result!='') $result.=':';
if ($minutes< 10) $result.='0'; $result.=$minutes;
if ($result!='') $result.=':';
if ($secondes< 10) $result.='0'; $result.=$secondes;
return $result;
}
if ((isset($_POST['titre'])) || ((isset($_POST['emission_titre'])) && (isset($_POST['emission_debut'])) && (isset($_POST['emission_duree'])) ))
{
if ((isset($_FILES['data']['name'])) && (isset($_FILES['data']['tmp_name'])))
{
@unlink($file_onair);
fclose(fopen($file_title, "w+"));
if ($zip = zip_open($_FILES['data']['tmp_name']))
{
while ($zip_entry = zip_read($zip))
if (zip_entry_open($zip, $zip_entry, "r"))
{
if( preg_match( '#^' . $dirFromZip .'.*#', dirname(zip_entry_name($zip_entry)) ) )
{
if ($fd = @fopen($file_onair, 'w+'))
{
$contenu=zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
fwrite($fd, $contenu);
fclose($fd);
try
{
$source = @simplexml_load_string($contenu);
// utilisateur XXXXXX à remplacer par votre identifiant
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '[url=http://metadatas.tv-radio.com/cgi-bin/metadatas-httprequest.pl?utilisateur=XXXXXXXXXX&song_title=.urlencode(trim($source->onair->song->title)).&artist_name=.urlencode(trim($source->onair->song->artist->alias)).&duration=]http://metadatas.tv-radio.com/cgi-bin/metadatas-httprequest.pl?utilisateur=XXXXXXXXXX&song_title='.urlencode(trim($source->onair->song->title)).'&artist_name='.urlencode(trim($source->onair->song->artist->alias)).'&duration=[/url]'.urlencode(duree(intval($source->onair->song->average_duration))));
curl_setopt($ch, CURLOPT_HEADER, FALSE);
@curl_setopt($ch, CURLOPT_FORBID_REUSE, TRUE);
@curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,7);
unset($retour);
@curl_exec($ch);
curl_close($ch);
}
catch (Exception $e){}
}
zip_entry_close($zip_entry);
}
}
}
}
if (isset($_POST['titre']))
{
$title=stripslashes(trim($_POST['titre']));
if ($title!='')
{
if (file_exists($file_title)) {@unlink($file_title);}
fclose(fopen($file_title, "w+"));
$file = fopen($file_title, 'r+');
fwrite($file, $title);
fclose($file);
}
}
if ((isset($_POST['emission_titre'])) && (isset($_POST['emission_debut'])) && (isset($_POST['emission_duree'])))
{
$next_broadcast=stripslashes(trim($_POST['emission_titre']));
$next_broadcast_timestamp_start=stripslashes(trim($_POST['emission_debut']));
$next_broadcast_timestamp_end=stripslashes(trim($_POST['emission_duree']));
if (file_exists($file_broadcast)) {@unlink($file_broadcast);}
fclose(fopen($file_broadcast, "w+"));
$file = fopen($file_broadcast, 'r+');
fwrite($file, $next_broadcast_timestamp_start."\n");
fwrite($file, $next_broadcast_timestamp_end."\n");
fwrite($file, $next_broadcast);
fclose($file);
}
}
else
{
// You can edit this PHP file from here... // Vous pouvez éditer ce fichier PHP à partir d'ici...
$sautligne='<br/>';
$mode=trim($_GET['mode']);
if (($mode=='titre') || ($mode==''))
if ((file_exists($file_title)) && ($title=readfile($file_title)))
{
echo $title[0];
if ($mode=='') echo $sautligne.$sautligne;
}
if (($mode=='emission') || ($mode==''))
if (file_exists($file_broadcast))
{
$file = fopen($file_broadcast, 'r+');
$heure=fgets($file);
if ($heure!=-1)
{
echo date('l d/m H:i', $heure).' - '.fgets($file).' mn'.$sautligne;
echo fgets($file).$sautligne.$sautligne;
}
fclose($file);
}
// ... to here // ... jusqu'ici
}
b). Enregistrez le fichier et transférez-le sur votre serveur Web
3. Sur votre serveur Web, veillez à bien avoir créé un fichier onair.xml avec les permissions 777 (CHMOD 777).
4. Dans Webradiotools, indiquez l'URL du script php. Ainsi, à chaque mise à jour du titrage, le script de titrage que vous venez de modifier appellera le script de titrage de votre serveur audio pour lui indiquer les nouvelles informations.
Hors ligne
Un grand merci pour ce tutoriel qui va surement m'aider je reviendrai vers vous pour vous dire se qu'il en est .
Hors ligne
Je reviens vers vous afin de savoir si je dois mettre le fichier php sur le serveur de mon site internet et dans ce cas à quel niveau ? Ou c'est TV radio qui doit le mettre sur leur serveur de stream ou autre ?
Merci,
Manu
Hors ligne
Bonjour,
Le script est fait pour votre serveur Internet (votre site Web). Pas besoin d'intervenir sur les serveurs audio (ce serait trop contraignant).
Placez-le là où vous voulez sur votre serveur Internet, et créez bien les fichiers indiqués dans le script avec permission 777.
Hors ligne
Je suis désolé de revenir vers vous pour ceci mais je ne suis pas très fort en script concernant le 777, je n'ai jamais vu. Du coup je doit mettre mon script php sur mon serveur et le fichier xml au même endroit et dans ce fichier xml que dois je mettre?
Cordialement,
Manu
Hors ligne
Bonjour,
Après avoir transféré le fichier PHP sur votre serveur Internet, vous créez les trois fichiers mentionnés en début du fichier PHP (onair.xml, etc...) dans le même répertoire que votre fichier PHP. Vous pouvez créer des fichiers vides ou non : ça n'a aucune importance vu que c'est le script PHP qui va les mettre à jour lorsqu'il sera appelé par Webradiotools.
Pour le CHMOD 777, il s'agit des permissions que vous donnerez à ces trois fichiers, en faisant un clic droit sur leur nom dans votre logiciel FTP afin de régler ces permissions au niveau maximum et ainsi leur permettre d'être modifiés automatiquement.
Hors ligne
Suite à notre conversation ce jour, je vous invite à mettre en place tout ce qui est décrit plus haut et à me recontacter une fois que vous aurez terminé tous vos tests afin de faire le point.
Si les tests ne sont pas concluants, vous me ferez parvenir par mail :
- votre adresse d'écoute (utilisée par les lecteurs audio)
- l'URL de votre script PHP
Puis nous procéderons à un dépannage via Teamviewer sur votre machine (assurez-vous de pouvoir y accéder lorsque nous serons en communication).
Hors ligne
Je vous remercie pour le temps que vous prenez à m'aider et je suis sincèrement désolé de vous déranger pour des questions qui sont probablement simple à régler normalement.
En fait je pense que le problème vient du fait que je débute vraiment dans le domaine technique. En tout cas j'aurai déjà commencer à apprendre des choses avec vous.
Je vous ai envoyé les infos que vous m'avez demandé pour le dépannage par mail, en espérant que cela va suffir et surtout que je vous ai donné les bonnes infos.
cordialement,
Manu
Hors ligne
Je reviens vers vous aujourd'hui pour vous remercier du temps que vous avez passer pour essayer de résoudre mon problème sur le forum et hier par msn. Je vous remercie aussi de votre intervention direct sur mes fichiers pour corriger mes erreurs.
Aujourd'hui la résultat est bien là cela fonctionne
J'ai une dernière question est il possible de réduire le temps d’apparition des titres entre les changements de musique ??? Quand le nouveau titre apparaît j'ai encore quelques secondes l'ancien même en mettant le temps à une seconde sous le fichier php.
Bonne journée et merci encore
Hors ligne
Bonjour,
Merci pour votre retour !
Le temps de réaction entre le changement de titre aux studios et sur le player ne peut pas être davantage réduit.
Il dépend essentiellement de la fréquence d'actualisation de la lecture des metadonnées de votre player : ceci est tout à fait normal.
Bonne journée
Hors ligne
Mise à jour du script pour compatibilité avec Webradiotools 2.0.9.0.
$source->onair->artist->alias est changé en $source->onair->song->artist->alias
Hors ligne
Bonjour, je sais pas si c'est ici que je peux poser ma question mais je tente. J'utilise le fichier titre.php qui me donne le fichier title.txt pour le titre jusque là tout va bien. Mon problème c'est que j'aimerai changer la police de caractère en Arial par exemple. Je dois faire comment?
merci par avance
Cyril
Dernière modification par Cyril90 (25-07-2016 00:52:41)
Only1 Radio - handle_url_tag($matches[1])
Only90 Radio - handle_url_tag($matches[1])
Hors ligne
Bonjour,
En effet, votre demande porte essentiellement sur une intégration HTML du titrage.
Le code ci-dessus montre un exemple basique d'utilisation, afin de montrer comment récupérer le dernier titrage transmis par Webradiotools.
Vous devriez obtenir l'effet souhaité en remplaçant la ligne :
echo $title[0];
par :
echo '<font face="arial">'.$title[0].'</font>';
Cordialement
Hors ligne
Propulsé par FluxBB