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.