У меня очень похожая ситуация с человеком, который спросил:
Можно ли подавать файлы MP3 с помощью PHP?
В основном я пытаюсь защитить mp3-файлы от прямой загрузки, поэтому пользователям сначала нужно пройти через php, чтобы пройти аутентификацию.
Вот мой код:
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);
Вот моя проблема: файл воспроизводит только очень маленький фрагмент начала (через Quicktime в браузере), а затем останавливается - кажется, что Quicktime считает, что длина файла равна длине блока, которым он управлял скачать . Когда я перезагружаюсь - он проигрывает немного больший кусок - все, что ему удалось загрузить до этого момента.
Это проблема в отправляемых мной заголовках? Как бы я транслировал такой файл?
Это проблема, если SWF читает из этого файла?
Спасибо!
Спасибо, ребята, за все ответы. Хотя ни одна из этих вещей не была именно тем, что решило проблему, многие из них направили меня в правильном направлении. Очень признателен.
Для полного решения см. Мой ответ ниже