Mi servirebbe un effetto sonoro per una pagina web perciò la scelta migliore è purtroppo il flash.
Con l’estensione ming di php e il codice di gazbming.com ho potuto creare questo file php che salva il file prova.swf
che riproduce il file MP3 prova.mp3
:
<?php Ming_setScale(20.0000000); $m = new SWFMovie(); $m->setDimension(1, 1); $m->setBackground(0x00, 0x00, 0x00); $m->setRate(31); $mp3=fopen('prova.mp3', 'rb'); $numofframes=$m->streamMp3($mp3); while($numofframes-->0){ $m->nextFrame(); } #header('Content-type: application/x-shockwave-flash'); #$m->output(); set_time_limit(3600); $m->save('prova.swf');
Per chiarezza: la quartultima e la terzultima riga sono commentate perché darebbero l’output su schermo.
Ciò che fa questo codice è creare un movie SWF di dimensioni 1×1 e sfondo nero, riprodurre il file prova.mp3
e salvare il movie prodotto nel file prova.swf
.
La penultima riga è solo di precauzione: ho provato con una canzone da 4 minuti e la prima volta mi ha dato errore perché i 30 secondi erano passati, poi ho aggiunto un limite di un’ora (3600 secondi) e non ho più avuto problemi.
Il test lo dovrete fare in locale quasi al 100% perché non penso che molti provvedano a dare l’estensione ming di PHP e perché è più comodo avere un file generato una volta per alleggerire il webserver.
Ringrazio di nuovo il sito sopra citato e spero vi sia di aiuto.