Предположим, что у меня есть ссылка с аудио файлом на выходе (я взял для примера ссылку из вк), я со своего сайта по средством тега "audio" обращаюсь к моей ссылке, которая транслирует аудио файл в плеер(сам код файла, к которому я обращаюсь, написан ниже). Очень важный фактор - аудио файлы около 1 часа и их вес больше 100мб (с файлами по 4 минуты проблем не наблюдается). Все работает, аудио воспроизводится, но:
1. По моей ссылке закачивается только часть файла и после того, как плеер подходит к этой части - воспроизведение обрывается.
2. Если попытаться перемотать файл больше, чем на минуту, то файл прерывается воспроизведение.
Как только не пытался мучать заголовки - ничего не получилось. на данный момент стоят вот такие заголовки, которые отслеживают заголовки самого запроса и берут из него диапазон байт. Собственно вопрос заключается в том, как сделать так, чтобы аудио воспроизводилось с перемоткой и загружало не только часть файла, а весь файл.
Сам код:
$file= "https://cs1-48v4.vk-cdn.net/p13/82193c0223859a.mp3?extra=PFQ6YTvJZQsoC4vavjB1rpIS83wlUNo63rvOR5_f9fvNWHsQ6nhuQx8U463GZGQR1TTN6eB7bi_uRxhHbhm1LgjWcUMG99YZlkGFHZyHq16UG_cjDH00RKRPgzQJJbJy4ZizVGiN1cLa";
$len = get_headers($file,1);
$heads = getallheaders();
header("Content-Length:".$len['Content-Length']);
header("Content-Length:".($len['Content-Length'] - str_replace(array("-","=","bytes"," "), "", $heads["Range"])));
header("Accept-Ranges:bytes");
header("Cache-Control:max-age=1468800");
header("Content-Type:audio/mpeg");
isset($heads["Range"]) ? (header("Content-Range:" . str_replace("=", " ", $heads["Range"]).($len['Content-Length']-1)."/".$len['Content-Length'])) : header("Content-Range:bytes 0-" . $len['Content-Length']);
readfile($file);
PS: Я знаю, что ссылка выдается по ip в ВК, ссылку я получал на сам сервер.