PHP Streaming MP3

Tengo una situación muy similar a la persona que preguntó:¿Puedo servir archivos MP3 con PHP? Básicamente estoy tratando de proteger los archivos mp3 de la descarga directa, por lo que los usuarios tienen que pasar por php para autenticarse primero. Aquí está mi código:

header('Content-type: audio/mpeg');
header('Content-length: ' . filesize($file));
header('X-Pad: avoid browser bug');
Header('Cache-Control: no-cache');
header("Content-Transfer-Encoding: binary"); 
header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
readfile($file);

Aquí está mi problema: el archivo solo reproduce una parte muy pequeña del principio (a través de Quicktime en el navegador) y luego se detiene: Quicktime parece pensar quela longitud del archivo es tan larga como el fragmento que logró descargar. Cuando vuelvo a cargar, reproduce un fragmento un poco más grande, lo que sea que haya logrado descargar hasta ese momento.

¿Es eso un problema en los encabezados que estoy enviando? ¿Cómo transmitiría un archivo así? ¿Es un problema si un archivo swf está leyendo ese archivo?

¡Gracias!

Gracias a todos por todas las respuestas. Aunque ninguna de estas cosas fue exactamente lo que resolvió el problema, muchas de ellas me enviaron en la dirección correcta. Muy apreciado. Para la solución completa, vea mi respuesta a continuación

Respuestas a la pregunta(7)

Su respuesta a la pregunta