Le forum officiel du site, discussions, aide, astuces...
Vous n'êtes pas identifié.
Salut tt le monde
J aimerai s avoir s il y aurait un script pour afficher la jaquette du titre en cours.
j en ai assayé plusieur mais sans resultat.
Merci
Hors ligne
Bonjour,
La meilleur solution est de regrouper les pochettes sur le serveur et d'aller les chercher par leur nom en fonction de l'artiste.
Pourquoi l'artiste ? Parce que les serveur ShoutCast retournent l'information sous le format : 'artiste - titre', il n'y a aucun moyen de savoir de quel album cela provient... du fait aussi que certains titres se retrouvent aussi sur plusieurs albums.
Cette première solution est la plus 'efficace' et la moins lourde en ressources serveurs, mais implique de regrouper toutes les ressources, voir de tenir une table SQL pour avoir une correspondance rapide.
Une autre solution rapide est d'utiliser 'Amazon' 
<?php
echo '<h1>Tests Amazon</h1>';
$recherche = 'The Bodyguard';
$base = 'http://www.amazon.com/s.html/102-7629216-6400917?field-keywords=';
$req = rawurlencode($recherche);
$contenu = get_page($base, $req);
$deb = strpos($contenu, '<table class="n2" border="0" cellpadding="1" cellspacing="0" width="100%">');
$longueur = strpos($contenu, '<table border="0" cellpadding="0" cellspacing="0" class="tigerTable" width="100%">') - $deb;
$contenu = substr($contenu, $deb, $longueur);
preg_match_all('`<a href="http://www.amazon.com/[^<]+<img src="(http://[^"]+)"`i', $contenu, $tab);
sors_valeurs($tab[1], array('no-img-lg.gif'));
echo '<h2>Pour la recherche : <em>' . $recherche . '</em></h2>';
echo '<img src="' . $tab[1][0] . '" alt="' . $recherche . '" /> ';
function sors_valeurs(&$tab, $valeurs)
{
foreach($tab as $data)
{
$bien = true;
foreach($valeurs as $interdit)
$bien = $bien && (strpos($data, $interdit) === false);
if ($bien) $tabf[] = $data;
}
$tab = $tabf;
}
function get_page($base, $page)
{
return file_get_contents($base . $page);
/* $fp = fopen($base . $page, 'r');
$contenu = '';
while(!feof($fp))
$contenu .= fread($fp, 1000);
fclose($fp);
return $contenu; */
}
?>Ce bout de script va faire une recherche sur l'album 'The Bodyguard' et retourner la première pochette valide.
Attention, il est loin d'être assez abouti pour être mis en production, mais suffisant pour un départ, de plus il fonctionne (retesté ce soir) 
Hors ligne
j avais deja testé ce script et aucun resultat.
mais la premiere solution a l air cool mais beaucoup plus complexe a mettre en place.
Mais si y a une doc dispo par la je suis preneur pour tester.
@+
Merci
(J utilise Winamp et Shoutcast) et non sam trop dur :(
Hors ligne
Sans résultat ? avais tu pris en compte la modification évoqué que j'avais posté plus loin sur le forum de WinampFR ? Car comme je l'ai marqué : il fonctionne 
Hors ligne
Bon je doit vraiment etre mauvais car j ai beau test et tj pareil aucun resultat.
Et y aurait il un bout de script a inserer dans kiwicast car c est lui que j utilise.
Merci
http://sebbabas.dynalias.com/
Hors ligne
Bonsoir,
le script précédent n'est pas spécialement fais pour ShoutCast, il suffit juste de faire coïncider la variable $recherche avec l'artiste ou le titre en cours.
* Ce script ne représenta pas une solution "idéale" qui consisterait à stocker en local les pochettes au moins au fur et à mesure afin d'éviter la rejoue de requêtes inutiles.
Hors ligne
Ne le prend pas mal, mais aux vues de tes demandes incessantes de code déjà tout fait pour ton usage, j'en viens à la conclusion que tu n'es pas capable de concaténer deux scripts pratiquement déjà tout fait.
Que l'on demande une expression régulière correspondant à un usage complexe est compréhensible, mais vu la simplicité des appels de procédures donné pour le script de pochettes, celui d'affichage du titre IceCast et ton niveau PHP (voir JS et HTML) je ne te recommande pas d'implémenter de code que tu ne comprends pas un minimum (qui te dis que mes quelques lignes ne vont pas m'envoyer tes mots de passes d'accès 1and1 ?
)
Hors ligne