PHP Streaming-MP3

Ich habe eine sehr ähnliche situation zu der person, die fragte:
Kann ich dienen MP3-Dateien mit PHP?
Grundsätzlich bin ich versucht zu schützen, mp3-files direkt herunterladen, so dass die Nutzer müssen gehen durch php zu bekommen, authentifiziert ersten.
Hier ist mein code:

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);

Hier ist mein problem: Die Datei spielt nur ein sehr kleines Stück des anfangs (via Quicktime im browser) und Stoppt dann - Quicktime scheint zu denken, dass die Länge der Datei ist nur so lange, wie das Stück es geschafft, download. Wenn ich neu laden - es spielt eine etwas größere Brocken - was auch immer es gelang den download bis zu diesem Punkt.

Ist, dass ein problem in den Kopf-ich bin senden? Wie würde ich das streamen ist so eine Datei?
Ist es ein problem, wenn eine swf-Datei liest aus der Datei?

Dank!


Danke Jungs für die ganzen Antworten. Obwohl keines dieser Dinge waren genau das, was gelöst ist das problem, viele von Ihnen schickte mich in die richtige Richtung. Sehr geschätzt wird.
Für die vollständige Lösung siehe unten meine Antwort

  • Ich nehme an, Sie haben nicht diese Tippfehler ("Header") in deinem code? Auch, Sie brauchen nicht die X-Pad-hack. Dies ist nur erforderlich für die alten Netscape (siehe george.hotelling.net/90percent/geekery/...). Sie brauchen nicht Content-Transfer-Encoding, und Sie sollten nur angeben, Content-Type once (audio/mpeg ist in Ordnung).
  • Flaschen: PHP-Funktionen sind case-insensitiv, so ist es nur ein Konsistenz-Problem. Der Content-Type kann sein, das eigentliche Problem hier.
InformationsquelleAutor Yuval Karmi | 2010-03-01
Schreibe einen Kommentar