ugrás a tartalomhoz

php - mit játszik a winamp

peachman · 2006. Okt. 1. (V), 23.15
Sziasztok!
Van egy shoutcast netrádióm és készítek egy weboldalt hozzá. Jó lenne, ha találnék olyan script-et ami kiirja, hogy éppen mi szól a rádióban. Tudnátok segíteni?

Thx!
 
1

Oly bonyolult

suexID · 2006. Okt. 2. (H), 08.03
Tényleg kegyetlenül bonyolult lett volna rákeresni a Googleban:
http://www.google.hu/search?hs=08a&hl=hu&q=shoutcast+info+php
2

grr

Anonymous · 2006. Okt. 2. (H), 08.51
Sose fogom megérteni, hogy minek válaszolsz, HA NEM AKARSZ SEGÍTENI? Ez sokkal szörnyűbb, mint az, aki feleslegesen kérdez... De a kérdés általában nem lehet felesleges, mert van mögötte valami: segítségkérés! Sőt, ebben a témában világosan látszik, hogy a kérdező tök inteligensen és normálisan kérdezett. Semmi okod és jogod emiatt cikizni. Unom már ezt. A Weblaboron van néhány, (szerintem fiatal) srác, aki nagyon szereti fitogtani a szuper tudását. Aki nem akar válaszolni az ne tegye, nem kötelező!!! Ráadásul, amit belinkeltél Google linket nem nagyon jó semmire. Maximum kész szkripteket tölthet le, de nem fog belőle semmit megérteni...
Ha olyan nagyokos vagy, akkor adj magadtól útmutatót és információt + járj elöl jó példával, mutass példákat, kódokat stb. ÉS NE FIKÁZZ!

Nem rosszból írtam mindezt, csak zavar, hogy egyre több ilyen beszólás van.

virág
4

Segitseg

tlof · 2006. Okt. 2. (H), 09.54
Na igen, tényleg. De a kérdező nem kódrészletet akart, hanem megoldást a problámájára, és a google link első találata tökéletes volt.

Szerintem igen is akart segíteni, hiszen ott volt a megoldás, ugyan akkor pedig a franc kivan azzal, hogy az emberek beböfögnek egy fórumba, hogy ilyen, olyan problémájuk van, és várják a megoldást. Utánna nézni persze luxus.
5

Fém...

suexID · 2006. Okt. 2. (H), 10.10
Ha az olvasott szövegértés terén fejlődnél némileg, akkor rájönnél, hogy bizony-bizony a kérdés arra irányult, hogy hol lehet fellelni ilyen szkriptet. Sehol nem olvasok olyat, hogy magam akarom megcsinálni és útmutató kellene. Meg a másik fele, hogy ha már más megcsinálta, akkor minek írja valaki újra? Ha nem akartam volna segíteni, akkor nem írtam volna oda a linket, meg szedtem volna ki a Google undorító URL-jéből a sok felesleges taget, és hasonlók, csak beböfögtem volna valami hasonlót, mint amit te is megeresztettél. Szóval legyél oly jó, és ha nem vagy képes a témára reagálni, akkor csak a személyeskedés okán ne írj be semmit!
3

Streaminfo parse

KJoci · 2006. Okt. 2. (H), 09.52
Szia,

Huh leszegezem régen volt már :) Én úgy csináltam, hogy a Shoutcast-nak van egy info page-e (pl: http://rautemusik.g24m.net:9000/) ugyanazon a címen amelyiken a rádió, csak webes lekérést kell indítani (GET-et). A Stream Titlenél van a számodra fontos információ. Tehát a legegyszerübb: CURL/fsockopen/wget...-el lekérni ezt az oldalt (persze a sajátodat) és utánna preg_matchal kiszűröd a számodra fontos infot. (Hátrány: mondjuk 30mpenként kellene kiolvasni, hogy ne ddos legyen a serverednek és már lehet másik szám megy de te még régit írsz ki)
Ez volt az egyszerübb megoldás :)
A másik megoldás (erre már totál nem emlexem), hogy a metadatáját parseolod és igy mindig a ténylegesen aktuális számot tudod kiirni. (Hátrány: valami cliens-t kell írnod, ami mondjuk adatbázisba szújra az aktuális számot. --> sokkab bonyibb megoldás).

Remélem érthető volt. Ha valami mégsem akkor kérdezz vissza :)

UI: http://www.phpclasses.org/browse/package/2049.html
http://www.phpclasses.org/browse/package/1814.html
6

thingy

Anonymous · 2006. Okt. 2. (H), 15.04
Szia,

szerintem a winamp thingy pluginja kell neked.

Megjegyzés a pluginról:
Send Now Playing: Song to Yahoo!, AIM, MSN, Irc windows. Update AIM Profile with Now Playing: Song, Change Yahoo! Status to Now Playing: Song. Have Now Playing: Song on your website. And also have signatures for forums to show what you're playing.. You can change the way the song displays (format).. This works with Winamp 2.x & 5.x.. Please read the Read Me.txt when installed for help. Also when installed you can find the PHP files for displaying Now Playing: Song on your site in your C:\Path\To\Winamp\Plugins\PHP Files\
7

winamp

peachman · 2006. Okt. 2. (H), 21.29
Köszi a segítséget.
Kipróbálom mindet, majd kiderül melyik fog legjobban illeszkedni az oldalhoz.
Thx még1x!
8

webkonf előadás

Hodicska Gergely · 2006. Okt. 3. (K), 06.27
Mázlid van: Webrádió – AJAX alkalmazási bemutató. Az előadás fóliái nincsenek fent, de ha küldesz egy üzenetet Dtaylornak, akkor biztosan elérhetővé teszi (valszeg kikerül a konf honlapjára is).


Felhő
9

nekem is

abicska · 2008. Jún. 15. (V), 01.39
Hello!
Nekem is van egy netrádióm, szintén shoutcast az alapja. A honlapom pedig értelemszerűen más szerveren van. Találtam sokféle PHP programot, ami kiírja az éppen játszott számot, de egyik sem működött, mint kiderült azért, mert a szolgáltatóm a cURL használatát engedélyezte az fsockopen() helyett.
Erre is kerestem a Google-n megoldásokat. Egyik sem működött, mind leállt időtúllépéssel.
Kérlek Titeket, hogy segítsetek megoldani!
A honlap szerver az InternetEurope szervere, a rádió az 193.202.63.243 IP címen érhető el, a 8090-es porton.
Az automatikus playlista pedig http://193.202.63.243:8090/listen.pls címen érhető el.

Ilyet kaptam például:

<?php

$ip="193.202.63.243";
$port=8090;
$message="%s";

function streaminfo($ip,$port, $message){
$curl=1;
if($curl==1){
$url = "http://$ip:$port/listen.pls";

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, 'SHOUTcast Info Getter (Mozilla)');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt ($ch, CURLOPT_PROXY,"http://proxy.shr.secureserver.net:3128");
curl_setopt ($ch, CURLOPT_TIMEOUT, 5);
$stream = curl_exec ($ch);
if(is_int($response)) {
    die("Errors: " . curl_errno($ch) . " : " . curl_error($ch));
}
curl_close ($ch);
$fp=1;
}
else{
$fp =@fsockopen ($ip, $port, &$errno, &$errstr, 2);
}
if(!$fp){
echo "Could not connect to <b>{$ip}:{$port}</b> ({$errno}) - {$errstr}\n";
}
else{
if($curl!=1){
fputs ($fp, "GET /7 HTTP/1.1\r\nUser-Agent:Mozilla\r\n\r\n");
while (!feof($fp)){
$stream = fgets($fp,1024);
}
}
list(,$stream) = explode("<body>",$stream);
list($stream) = explode("</body>",$stream);
list($user, $status, $user_peak, $user_max, ,$bitrate, $song) = explode(",",$stream);
if($status=="0"){
echo"Offline";
}
else{
$status="Online";
$message=str_replace("%up", $user_peak, $message);
$message=str_replace("%um", $user_max, $message);
$message=str_replace("%u", $user, $message);
$message=str_replace("%st", $status, $message);
$message=str_replace("%b", $bitrate, $message);
$message=str_replace("%s", $song, $message);
echo $message;
}
if($curl!=1){
fclose($fp);
}
}
}
streaminfo($ip, $port, $message);

?>
Erre csak annyit kaptam eredményül, hogy a "shell_exec() biztonsági okokból letiltva". Mi a megoldás?

Köszönöm előre is a segítséget!
10

kódm

Gerifield · 2008. Jún. 17. (K), 20.44
Én is csináltam annó ilyen rádiót és ezt a scriptet használtam hozzá:

<?
echo "<center>G-RÁDIÓ </center>";
$fp = @fsockopen("RADIO_CIME.hu", "8000", $errno, $errstr, 3); //a 8000 a portszam, cseréld a rádió címét
if(!$fp){
echo "<center><font color=red><b>OFFLINE</b></font></center><br>";
}else{
fputs($fp,"GET /stat.xml HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n"); //lekérjük a stat.xml-t
while(!feof($fp)) {
$oldal .= fgets($fp, 1000);
}
fclose($fp);
$oldal = ereg_replace(".*<body>", "", $oldal);
$oldal = ereg_replace("</body>.*", ",", $oldal);
$szamok = explode(",",$oldal);

if($szamok[1]=="1"){
$szam=$szamok[6];
$mostus=$szamok[0];
$maxus=$szamok[3];
$sebesseg=$szamok[5];
$maxhallgatok=$szamok[2]; 
//szétvágjuk az adatokat, amik jöttek

echo "<center><font color=green><b>ADÁS</b></font><br>";
echo "<a href='http://RADIO_CIME.hu:8000/listen.pls'>HALLGASD TE IS!</a></center><br>"; //itt is cserélt a rádió címét


echo "<center>Jelenleg a <font color=blue>".$szam."</font> szám fut!<br></cenetr>";
echo "<center><font color=blue>".$maxus."</font>/<font color=blue>".$mostus."</font> ember hallgatja a rádiót!</center><br>";
echo "<center><font color=blue>".$sebesseg."</font> kbps a sebesség!</center><br>";
echo "<center><font color=blue>".$maxhallgatok."</font> db ember hallgatta a rádiót egyszerre!</center><br>";
}else{
echo "<center><font color=yellow><b>ADÁSSZÜNET</b></font><br><br>";
}
}
Kicsit itt-ott kommenteltem a kódban....
Ha az érdekel mi megy a winampban, akkor használhatod az én progimat is.
Winapm Watcher a neve! LINK
11

Segítség

sothi92 · 2008. Júl. 27. (V), 23.27
Sziasztok!

Nem müxik :( Tudnátok segíteni, kérlek? Amiket eddig letöltöttem egyik sem tudott csatlakozni, mindegyik offline-t mutatott. Aki segítene kérlek vegyen fel msn-re nagoyn fontos lenne: sothi92[kukac]msn.com

Előre is köszi!

Üdv.: Sothi
12

Közösség

zila · 2008. Júl. 28. (H), 07.57
Jobban jársz ha itt a fórumon kérdezel és nem magánóra keretében kérsz segítséget:
- több szem, többet lát
- ha valaki hasonló problémával kűzd mint te, és használja a keresőt, az rátalálhat a témára ami segítheti a problémája megoldásában.
- (szubjektív) nekem nincs arra időm, hogy közvetlenül msn-en (azon főleg nem, mert nincs is olyanom) tartsak fogadóórát, nyújtsak supportot ismeretlen embereknek. A fórumon ellenben szívesen segítek, ha tudok, pláne hogy akkor jövök a fórumra mikor ráérek, ezzel szemben im-en egyfolytában zaklatható lennék. Persze ez nyilvánvalóan lassabb módja a segítséghez jutásnak, de az egyik legfontosabb, hogy soha, de soha ne írd bele a kérdésedbe, hogy "sürgős" vagy "fontos", ehelyett fogalmazd meg jól a kédésedet, legyél minél pontosabb ezzel hamarabb kapsz segítséget mintha beleírnád a levélbe, hogy "sürgős"...

Kérdezz okosan, az, hogy nem működik, és mind offline-t mutatott nem túl konkrét. Írd le mit, hogyan állítottál be, milyen programokat használsz, mi a konkrét hibajelenség, ha van akkor hibaüzenettel együtt.

Olvasnivaló:
http://esr.fsf.hu/smart-questions_hu.html
13

Segítség

sothi92 · 2008. Júl. 28. (H), 09.06
Sziasztok! Oksa, bocsi. Sorry de tegnap este már nagyon iges voltam. Sok minden összejöt (negatív).

Shoutcast-ot használok. Router mögül megy ki az adat a világhálóra. localhost-on a 192.168.2.180 ip címen tudok rálépni a shoutcast alap státusz honlapjára, mások a 86.101.145.115 ipcímen tudják elérni. A fent beszúrt 2 db kész státusz oldalt írtam át (amit garfield lés amit abicska). Mind a 2 ip címmel kipróbáltam de egyikkel sem tudott csatlakozni. Hibaüzenet nincs... Csak az offline felirat.

Üdv.: Sothi
14

Shoutcast router mögött, hibakeresés

zila · 2008. Júl. 28. (H), 09.29
Első körben azt kellene elérned, hogy a helyi gépeden a helyi ip címről elérd. Ha megnézed pl. Gerifield scriptjét, akkor írja ki az OFFLINE feliratot, ha nem tud csatlakozni a 8000-es porton figyelő shoutcast-hoz. Ennek több oka is lehet: nem fut a shoutcast, fut, de nem a 8000-es porton figyel, tűzfal akadályozza. Kipróbálhatod localhost-tal is (vagy 127.0.0.1-es ip-vel) ekkor vélhetően a tűzfal nem avatkozik közbe. Ha itt működik, akkor nézzd meg a tűzfaladat. Ha így sem, akkor győződj meg róla, hogy a shoutcast fut és a 8000-es porton elérhető a kis webszervere...

Ha helyi környezetben már sikerült életre lehelned, akkor jöhet a nagyvilág: routereden csinálnod kell egy port forward-ot, hogy a publikus ip címről elérjék a router mögött futó shoutcastodat. Ehhez ki kell nyitnod a shoutcast portját (8080) és át kell irányítanod a géped megfelelő (8080) portjára.

Ja, a shoutcast alapból a 8080-as porton figyel, lehet, hogy csak annyi a probléma, hogy a 8000-es porton próbálkoztál...

Itt egy kis howto:
http://www.tech-recipes.com/html_tips526.html
15

Localhost

sothi92 · 2008. Júl. 28. (H), 10.40
Kipróbáltam localhoston a garfield kódját. Iphez kipróbáltam a "localhost"-ot és a "127.0.0.1" ip-t de mindkét esetben ezt a hibaüzenetet kaptam:

Notice: Undefined variable: oldal in C:\phpWeb\test.php on line 9

Notice: Undefined offset: 1 in C:\phpWeb\test.php on line 16
Shoutcastban pedig 8000-es portot átírtam 8080-asra de úgysem működik (ugyan ez a hibaüzenet). Többször ellenőriztem hogy nem írtam e el valamit de nem. http://localhost:8080/ -t ha beírom akkor bejön rendesen a shoutcast saját kis oldala.

Tovább nem is mentem... (mármint a port forward) mert még localhoston se megy.

U.I.: tűzfalat kikapcsoltam minden esetben.
16

Változott a helyzet

zila · 2008. Júl. 28. (H), 11.17
Ha jól látom, akkor már nem azt írja, hogy OFFLINE...
Most jött el az ideje, hogy debugolj picikét.
$oldal = ""; // ez eltüntetni az első Notice-t
while(!feof($fp)) {  
     $oldal .= fgets($fp, 1000);  
} 
fclose($fp); 

// Minimál debug
echo "<pre>";
print_r($oldal); 
echo "</pre>";
Hasonló módon nézegesd meg, hogy milyen válaszokat kapsz a webszervertől, ha kell minden lépés után irass ki változókat így megtalálhatod, hogy hol a probléma...

Jó munkát!
17

:S

sothi92 · 2008. Júl. 28. (H), 12.31
Még sohasem csináltam (most hallok először róla) :S Kerestem googleban és itt a weblaborban is, de nem találtam leírást, hogy hogyan kell debugolni meg hogy mi az. El mondanád kérlek, hogy hova illeszem be ezeket?


U.I.: Ha a
while(!feof($fp)) { 
elé beírom hogy
$oldal = "";
akkor már csak 1 hibaüzenetet ír ki:

Notice: Undefined offset: 1 in C:\phpWeb\test.php on line 17
18

Alapozás

zila · 2008. Júl. 28. (H), 14.44
Nos szerintem vegyél egy php könyvet és olvasd el. Addig minden más felesleges...

De azért:
a $oldal =""; sortól azért tűnt el a "hibaüzenet" mert létrejött a változó. Hibaüzenet és hibaüzenet között is van különbség. Amit te kaptál az a legenyhébb fajta "Megjegyzés" szintű Notice: ... Az elsőt azért kaptad, mert egy olyan változóhoz próbáltál hozzáfűzni (concatenate operátorral azaz a ponttal) ami még nem létezett.

A másodikat azért kapod, mert olyan tömbelemre hivatkozol ami nem létezik. Ezért kéne betenni a print_f-et, hogy lásd mi jött le az $oldal változóba. Ha nem tudod mi az a tömb, tömbelem, meg változó, sőt még a print_f-ről sem hallottál, akkor legalább a php manuálját nézzd meg. És tanulj angolul is, sokat segít a dokumentációk és a hibaüzenetek megértésében. nem utolsó sorban forráskód olvasásban is segít...
19

Utolsó lépés

sothi92 · 2008. Júl. 28. (H), 18.45
Sikerült localhoston. Most próbálom a "nagyvilágban" a dolgokat. Több kevesebb sikerrel. Kép
Megnyitottam a portot de még mindig nem jó valami.
Hol rontottam el?
20

Befejezés

sothi92 · 2008. Júl. 30. (Sze), 16.49
Zila segítenél kérlek befejezni az utolsó lépéseket? Hol rontottam el a portegyesítést? vagy ha nem rontottam el akkor miért nem jó?
21

Több info kell

zila · 2008. Júl. 30. (Sze), 17.27
A screenshot alapján a port forward beállítás jó. A hiba kiderítéséhez több információ kell:
- honnan próbáltad? (hol fut a php ami lekérdezné a shoutcastot)
- ahol futtatod ott kapcsolj be minden hiba megjelenítést, alkalmazd az ajánlott debug célú kiírásokat
- ahonnan próbáltad onnan böngészővel vagy telnet-tel elérted-e a soutcast-ot a publikus-ip:8080-as portján?

Mellékesen nem port egyesítésnek hívják a technikát, hanem port továbbításnak (port forwarding)...
22

Infok

sothi92 · 2008. Júl. 30. (Sze), 17.54
Próbáltam ATW-n CWI-n és saját tárhelyen is, de egyiken sem volt jó. Localhoston működik, mozillával néztem.
23

Hibaüzenetek?

zila · 2008. Júl. 30. (Sze), 18.16
Kezdésnek vedd le a @-ot az fsockopen elől, és kapcsold be a hibák megjelenítését
Script elejére:
error_reporting(E_ALL);

és nézzd meg mit ír...

Gyanítom, hogy ezeken a helyeken nincs engedélyezve az fsockopen függvény...
24

Másik

sothi92 · 2008. Júl. 30. (Sze), 18.51
Se abicska, se Gerifield kódjával nem működött az általuk beírt script localhoston (sajnos), hanem egy másik rendszerrel értem el hogy működjön localhoston ->Scstats v1.1
Ezzel sikerült localhoston, de neten már nem.

_scstats.cfg-ben kell átírni az ip-t és a portot.

error_reporting(E_ALL); nem eredményezett semmit.


U.I.: sorry hogy nem szóltam hamarabb hogy másik rendszerrel sikerült.
25

Ugyanaz

zila · 2008. Júl. 30. (Sze), 20.15
Hát nagyjából-egészében ugynaz a kód mint Gerifield-é... és a lényeg, hogy ebben is van @ az fsockopen előtt, szóval vedd ki előle... (scstats.php-ben)
26

Kész

sothi92 · 2008. Júl. 30. (Sze), 20.29
Megtaláltam a hiba okát :) Ahogyan a képet is mutattam 192.168.2.180:8080 -as ip+portal próbáltam csatlakozni. De egy külső emberke pedig a 86.101.145.115 ipvel tud csak csatlakozni így ez volt a hiba oka!!! Nagyon szépen köszönöm zila a segítségeidet :)