Newsgroup: it.comp.www.php
Titolo: come suono un mp3 con la chiamata system?

ciao a tutti!
ho un pc collegato all'impianto stereo di casa e siccome
contiene tanti mp3 avevo pensato di metter su una piccola
interfaccia web accessibile da tutti i pc di casa mia
e che facciano suonare l'aggeggio, cosi mi son messo dietro
a trusciare e...
- recupero la lista dei file tramite la chiamata system
  e poi li leggo con un bel ciclo while
- ogni riga della tabella ha un <a href...> che chiama
  uno script esegui.php passandogli il nome mp3
il programma che volevo usare e' mpg321 quindi lo script
esegui.php e' qualcosa come:
<cut>
  echo "suono il file: " . $perc; // (variabile passata)
  system("kill -9 `pidof mpg321`,$err);
  system("mpg321 $perc",$err);
<cut>
ma non va!! e non capisco perche'!?!?!!
idem se faccio lo stesso script in perl... sapete dirmi
perche' *pidof* funzia e il _kill_ o _mpg321_ no??
io non ci arrivo!?!? anche perche' pidof e' in /sbin e gli
altri sono di accesso comune. :-(
grazie
-- 
 [ Running Linux Red Hat 7.3 ]
 ~ 
http://web.tiscali.it/penguinatwork/
 ~ 
pengui...@tiscali.it

 altri sono di accesso comune. :-(
che errore ti dà?
devi usare tutti i path assoluti.
BTW, non penso che funzionerà lo stesso (non chiedermi il motivo, è un 
presentimento).
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.nist.gov/dads/

 altri sono di accesso comune. :-(
Solo una idea, ma forse usando 'sudo'?

 ma non va!! e non capisco perche'!?!?!!
Metti l'utente di apache nel gruppo della scheda audio.
Per esempio, in debian, la scheda audio e` accessibile da root e dal
gruppo "sound", e apache gira come www-data. In /etc/group metti
sound:x:yzk:www-data

 altri sono di accesso comune. :-(
Mi piacciono 'ste pazzie!!!!
Un paio di consigli:
- occhio a passare i path; come già detto devono essere completi e
  occhio ai caratteri, spazio in primis! [1]
- al posto di quel 'kill -9 `pidof mpg321` piazzaci un più semlpice
  'killall mpg321', forse qualcosina ti cambia ...
- in ogni caso, anche senza killare il processo, il player dovrebbe
  trovare il device occupato e non suonare finchè un brano è terminato
  (e quindi il device lasciato libero!). Ma questo con il php non
  c'entra a niente! :-)
Poi facci sapere!!!
Ciao
--ev
[1]
Io ho scritto questo gioiello di programmazione:
<?
system("splay /my/home/music/artist\ -\ the\ title");
?>
e funziona ... al contrario:
<?
system("splay /my/home/music/artist - the title");
?>
non spiccica una nota che sia una! ;-)

 
aggiorniamoci: ora suona! ma non capisco come. ho solo riavviato
la macchina.
allora in base a quello che avete detto questo e':
- se ci sono spazi non va. ma va!?!?! mi e' capitato il caso
  giusto giusto
- i permessi non li ho toccati
- al primo click non va un tubo, al secondo mp3 invece suona
- il codice e' rimasto simile a quello soprariportato
solo 1 problema:
ora il server va in timeout!! problema che cmq posso tralasciare
se non avete idee... avrete capito che non sono un genio di php 
:-)
ciao!


 se non avete idee... avrete capito che non sono un genio di php
hai provato a lanciarlo in background??
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/philosophy/free-sw.it.html


e con questo?
  system("splay /my/home/music/artist \"- the title\"");
quindi:
  system("splay \"$dir\" \"$file\"");

  system("splay /my/home/music/artist \"- the title\"");
Nope! :-)
funziona:
system("splay /my/home/music/artist\ \"- the title\"");
ma non;
system("splay /my/home/music/artist \"- the title\"");
Mi par di capire che siano solo gli spazi a volere l'escape. Non ho
provato le virgolette singole (apostrofi), se qualcuno vuol provare ...
Ciao
--ev

 wrote in message news:6c1moa...@192.168.1.100...

prova allora:
  system("splay \"/my/home/music/artist - the title\"");
oppure:
  $file="/my/home/music/artist - the title";
  system("splay \"$file\"");

 
ok gente!
ho capito perche'... nella mia disperazione all'1 di notte dell'altro
giorno avevo poi dato un bel chmod +s a mpg321!
ecco spiegato il motivo
me ne sono accorto ora che ho portato lo script da red hat a slackware!
anyway, idee sul timeout?? e poi perche' anche se ci metto un echo non
vedo nulla e, anzi lo script php parte ma a video vedo la pagina che
l'ha chiamato, cioe' quella con l'elenco di tutte le canzoni?
se volete posto l'intero codice...
