Aller au contenu

Alerte Covid-19 #RestezChezVous

Depuis janvier 2020 une épidémie de Coronavirus COVID-19 (ex 2019-nCoV) s’est propagée en France. Retrouvez toutes les informations officielles sur le site du Gouvernementhttps://www.gouvernement.fr/info-coronavirus. Ne propagez pas de fausses nouvelles.
Et #RestezChezVous

Bahanos

[Bêta] API Caramania.Ca

Messages recommandés

Mise à jour du script ici > http://www.radios-fr.com/topic/18187-v342-apicaramaniaca/
 
L'API vous permet de récupérer des informations sur votre Webradio. ^^

Voici un script PHP simple d'utilisation :
 
api_call.php


<?$type = 'icecast'; // Technologie serveur (icecast,shoutcast,radionomy)$ip = 'listen-ca.uturnradio.com'; // URL ou IP du serveur$port = '80'; // PORT du serveur$ruid = ''; // RadioUID (Radionomy)$mount = '/classic_rock'; // MOUNT (Icecast)$cover_t = 'medium'; // Taille de l'image (small,medium,large,extralarge)$cover_d = 'http://api.caramania.net/covers/no_img.png'; // Pochette par défaut$cache = './cache.txt'; // Fichier cache.txt local$cache_c = './cache_call.txt'; // Fichier cache_call.txt local#########################################  NE PAS MODIFIER!  #########################################$date = '-1';if($lines = file($cache_c)){	$date = (isset($lines[1]) ? $lines[1] : '-1');	$time = $lines[0];	$expire = time() - $time;} else {	$expire = time() - 1;}if(@file_exists($cache) && $date > $expire && file_get_contents($cache) != ''){	$xml = @simplexml_load_file($cache);	$artist = trim($xml->track->artist);	$title = trim($xml->track->title);	$current = trim($xml->track->current);	$current_peak = trim($xml->track->current_peak);	$cover = trim($xml->track->cover);	$last_1_title = trim($xml->track->last_1_title);	$last_1_artist = trim($xml->track->last_1_artist);	$last_2_title = trim($xml->track->last_2_title);	$last_2_artist = trim($xml->track->last_2_artist);	$last_3_title = trim($xml->track->last_3_title);	$last_3_artist = trim($xml->track->last_3_artist);	$last_4_title = trim($xml->track->last_4_title);	$last_4_artist = trim($xml->track->last_4_artist);	$last_5_title = trim($xml->track->last_5_title);	$last_5_artist = trim($xml->track->last_5_artist);} else {	@file_put_contents($cache_c, '200'."\n".time());	$context = stream_context_create(array('http' => array('timeout' => 3)));	touch($cache);	$xml = @file_get_contents('http://api.caramania.net/?type='.$type.'&ip='.$ip.'&port='.$port.'&cover_t='.$cover_t.'&mount='.$mount.'&ruid='.$ruid, 0, $context);	if(!$xml){		$xml = @simplexml_load_file($cache);	} else {		@file_put_contents($cache, $xml); 		$xml = @simplexml_load_file($cache);		$expire_n = ($xml->track->callmeback / 1000);		if($expire_n < 15){ $expire_n = 15; }		@file_put_contents($cache_c, $expire_n."\n".time());	}	$artist = trim($xml->track->artist);	$title = trim($xml->track->title);	$current = trim($xml->track->current);	$current_peak = trim($xml->track->current_peak);	$cover = trim($xml->track->cover);	$last_1_title = trim($xml->track->last_1_title);	$last_1_artist = trim($xml->track->last_1_artist);	$last_2_title = trim($xml->track->last_2_title);	$last_2_artist = trim($xml->track->last_2_artist);	$last_3_title = trim($xml->track->last_3_title);	$last_3_artist = trim($xml->track->last_3_artist);	$last_4_title = trim($xml->track->last_4_title);	$last_4_artist = trim($xml->track->last_4_artist);	$last_5_title = trim($xml->track->last_5_title);	$last_5_artist = trim($xml->track->last_5_artist);}	print (empty($artist) ? '' : $artist).'|'.(empty($title) ? '' : $title).'|'.(empty($current) ? '0' : $current).'|'.(empty($current_peak) ? '0' : $current_peak).'|'.($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover) ? '<img src="'.$cover_d.'" border="0">' : '<img src="'.$cover.'" border="0">').'|'.(empty($last_1_title) ? '' : $last_1_title).'|'.(empty($last_1_artist) ? '' : $last_1_artist).'|'.(empty($last_2_title) ? '' : $last_2_title).'|'.(empty($last_2_artist) ? '' : $last_2_artist).'|'.(empty($last_3_title) ? '' : $last_3_title).'|'.(empty($last_3_artist) ? '' : $last_3_artist).'|'.(empty($last_4_title) ? '' : $last_4_title).'|'.(empty($last_4_artist) ? '' : $last_4_artist).'|'.(empty($last_5_title) ? '' : $last_5_title).'|'.(empty($last_5_artist) ? '' : $last_5_artist);  ?>

api_call.js




function api_call(){			$(function(){		$.get('api_call.php', function(xml_data) {    		var data = xml_data.split('|');			$('#artist').html(data[0]);			$('#title').html(data[1]);			$('#current').html(data[2]);			$('#current_peak').html(data[3]);			$('#cover').html(data[4]);			$('#last_1_title').html(data[5]);			$('#last_1_artist').html(data[6]);			$('#last_2_title').html(data[7]);			$('#last_2_artist').html(data[8]);			$('#last_3_title').html(data[9]);			$('#last_3_artist').html(data[10]);			$('#last_4_title').html(data[11]);			$('#last_4_artist').html(data[12]);			$('#last_5_title').html(data[13]);			$('#last_5_artist').html(data[14]);		});	});}setInterval('api_call();', 5000);$(document).ready(function(){ api_call(); });

api_call.html




<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script><script type="text/javascript" src="api_call.js"></script> <table summary="" border="0">	<tr>		<td>		<!-- Affiche la pochette --><span id="cover"></span><!--  --> 		</td>		<td><b>Actuellement :</b> 		<!-- Affiche l'artist --><span id="artist"></span><!--  -->		- 		<!-- Affiche le titre --><span id="title"></span><!--  -->		<br><b>Auditeurs :</b> 		<!-- Affiche les auditeurs --><span id="current"></span><!--  -->		<br><b>Peak d'auditeurs :</b> 		<!-- Affiche le peak d'auditeurs --><span id="current_peak"></span><!--  -->		<br>  		</td>	</tr></table><br><table border="0">																													   	<tr>		<td><b>Dernière chanson jouer : </b></td>		<td><!-- Dernière chanson No1 --><span id="last_1_title"></span> - <span id="last_1_artist"></span><!--  --></td>	</tr>	<tr>		<td> </td>		<td><!-- Dernière chanson No2 --><span id="last_2_title"></span> - <span id="last_2_artist"></span><!--  --></td>	</tr>	<tr>		<td> </td>		<td><!-- Dernière chanson No3 --><span id="last_3_title"></span> - <span id="last_3_artist"></span><!--  --></td>	</tr>	<tr>		<td> </td>		<td><!-- Dernière chanson No4 --><span id="last_4_title"></span> - <span id="last_4_artist"></span><!--  --></td>	</tr>	<tr>		<td> </td>		<td><!-- Dernière chanson No5 --><span id="last_5_title"></span> - <span id="last_5_artist"></span><!--  --></td>	</tr></table>

Démo !!!

Partager ce message


Lien à poster
Partager sur d’autres sites

Perso moi j'ai plein d'erreur pourtant je l'ai mis sur mon serveur local et j'ai modifié le api_conf

Partager ce message


Lien à poster
Partager sur d’autres sites

As-tu un serveur vps ou seulement en shared avec une compagnie? Si tu es en shared c'est tres possible que plusieurs ports soient bloqués et c'est pour ca que ca ne foncrionne pas. Si c'est le cas tu dois demander a ton Hébergeur de débloquer des ports.

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour remplacer l'image ... un simple code html/php ^^
 

<img src="<? print ($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover)?'http://tonsite.com/tonimage.jpg':$cover); ?>">

remplacer "http://tonsite.com/tonimage.jpg" par image de votre choix ^^

@Dodo2235: Quel est le message d'erreur ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Voici les erreurs:

SJJ8gL3b.png

Partager ce message


Lien à poster
Partager sur d’autres sites

Vérifie si les fichiers existe bien.

 

$cache = './cache.txt'; ### Fichier de cache local ###
$cache_c = './cache_call.txt'; ### Fichier de cache_call local ###

Partager ce message


Lien à poster
Partager sur d’autres sites

@Bahanos

 

Oui les fichiers que tu as cité existent

Partager ce message


Lien à poster
Partager sur d’autres sites

Et dans les fichiers ya quelque chose ?

@zeit: Le code fonctionne actuellement sur mon Blog... i devrait normalement fonctionner pour toi aussi.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui il y a les infos que j'ai rentré sur le fichier api_conf

Partager ce message


Lien à poster
Partager sur d’autres sites

cover.js fait le refresh sur le span

 

<span class="cover"><img src="http://api.caramania.net/img/no_img.jpg" height="80" border="0" alt=""></span>

 

mais pas sur le

 

<img src="<? print ($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover)?'http://tonsite.com/tonimage.jpg':$cover); ?>">

 

je ne sais pas comment modifier ca pour que ca fonctionne car aussitot je remet l'ancien avec le span ca fonctionne

Partager ce message


Lien à poster
Partager sur d’autres sites

désolé j'ai oublié voici les ligne dans cover.js :

 

var aDivs, iDiv;
        aDivs = oO5.aTag(document, 'span');
        iDiv = aDivs.length;
        do if(aDivs[--iDiv].className === 'cover')
            oO5.control(aDivs[iDiv]);
        while(iDiv > 0);
        return true;

Partager ce message


Lien à poster
Partager sur d’autres sites

Tout a fait normal... ce code va dans le fichier cache_api.php

if($_GET['cover']==1){print trim('<img src="'.$cover.'" height="'.$height.'" border="0">');}par<img src="<? print ($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover)?'http://tonsite.com/tonimage.jpg':$cover); ?>">

Partager ce message


Lien à poster
Partager sur d’autres sites

Étrange j'ai tout fait exactement comme tu m'as dit et je continu a voir no image available. Merci pareil pour ton aide

Bahanos !!

J'apprécie énormément :)

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai modifié le code sur mon précédent message... le forum ajoute le BBcode sur les liens ... ça devrait fonctionner la ^^

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour Bahanos ton dernier code a l'air de fonctionner sauf qu'il n'y a pas de balises pour la hauteur de l'image, les album sont tres petit est-il possible de mettre un height dans le code

 

<img src="<? print ($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover)?'http://tonsite.com/tonimage.jpg':$cover); ?>">

 

Merci!

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut Bahanos, as-tu un truc pour que les pochettes s'affichent plus rapidement? La plupart du temps la pochette s'affiche quand la moitié de la piece est commencée....

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu dois utiliser le nouveau script pour choisir la qualité des pochettes.

La base de données des pochettes a été réinitialisée pour prendre en compte les accents.

La base de données des pochettes va se refaire avec le temps.

L'API récupère les nouvelles pochettes toutes les minutes.

Partager ce message


Lien à poster
Partager sur d’autres sites

Quelle taille de pochette utilises-tu ?

La plupart des pochettes ont 4 formats.

small (34x34) > http://api.caramania.net/covers/small/5901.jpg

medium (64x64)(par defaut) > http://api.caramania.net/covers/medium/5901.jpg

large (126x126) > http://api.caramania.net/covers/large/5901.jpg

extralarge (300x300) > http://api.caramania.net/covers/extralarge/5901.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour etre sure j'ai essayé tout les formats que tu a mensionné des fois il y a une pochette correcte mais la plupart sont floues

Partager ce message


Lien à poster
Partager sur d’autres sites

Comme dit plus haut ... "La plupart des pochettes ont 4 formats."

Vérifier que vous avez bien dans votre config :

 

$cover_t = 'large'; // Taille de l'image (small,medium,large,extralarge) 

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui l'image a la grosseur que je lui donne mais elle est floue meme si elle est en format petit medium large extralarge je comprends pas

Partager ce message


Lien à poster
Partager sur d’autres sites

dans la configuration vous entrez votre image ici :

 

$cover_d = 'http://api.caramania.net/covers/no_img.png'; // Pochette par défaut

Partager ce message


Lien à poster
Partager sur d’autres sites

ca ne fonctionne pas et je peux meme pas voir no_image non plue mais les pochettes elles sont correctes maintenant!

Partager ce message


Lien à poster
Partager sur d’autres sites

Avez-vous bien supprimer toute trace du vieux script ? et copier le nouveau ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Si je regarde le lien de l'image, vous avez oublié de supprimer le lien d’image Caramania dans votre config.

 

http://www.depressivemetalrockradio.com/metalrock19702000/psyblue.gifhttp://api.caramania.net/covers/extralarge/7025.jpg 
Vérifier votre configuration.

Partager ce message


Lien à poster
Partager sur d’autres sites

Penser à supprimer le vieux script.
 

<script type="text/javascript" src="js/artist.js"></script><script type="text/javascript" src="js/title.js"></script><script type="text/javascript" src="js/current.js"></script><script type="text/javascript" src="js/current_peak.js"></script><script type="text/javascript" src="js/cover.js"></script>

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×