Как транслировать аудио с помощью Jquery / Stack Overflow

В настоящее время у меня есть mp3-плеер, который я создал с помощью jquery. Я хотел знать, есть ли более быстрый способ, которым я могу получить mp3-файл и воспроизвести его для пользователя, или «передать» его, например, как это делает pandora. Вот как я получаю данные песни:

    song = document.createElement('audio');
source = document.createElement("source");
song.appendChild(source);
source.setAttribute("type", "audio/mpeg");
source.src = "getMp3.php";

Файл getMp3.php выглядит так:

    $fileName = "Song.mp3";
$file = "/Music/".$fileName;
$mime_type = "audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3";
$shortlen = filesize($file)-1;

$fp = fopen($file, 'r');
$etag = md5(serialize(fstat($fp)));
fclose($fp);

header("Pragma: public");
header("Expires: 0");
header('Cache-Control: no-cache, no-store');
header("Content-Transfer-Encoding: binary");
header('Content-type: '.$mime_type);
header('Accept-Ranges: bytes');
header('Connection: Keep-Alive');
header('Content-length: ' . filesize($file));
header('Content-Disposition: inline; filename="' . $fileName);
header('X-Pad: avoid browser bug');
header('Content-Range: bytes 0-'.$shortlen.'/'.filesize($file));
header('Etag: '.$etag);
readfile($file);

В большинстве случаев загрузка файла занимает около 10 секунд. Это может быть дольше в зависимости от размера файла, но обычно это 10 в среднем. Я также попытался отправить только часть mp3-файла, но это все равно занимает около 10 секунд, даже если mp3 составляет 10 секунд или 3 минуты. Есть ли способ загрузить / воспроизвести песню быстрее?

0

Решение

Скрипт PHP будет отображать страницу после загрузки всего музыкального файла, поэтому он стоит очень дорого.

Для воспроизведения музыки в Интернете в потоковом режиме есть два способа сделать это:

  1. Flash player: есть тысячи музыкальных проигрывателей JavaScript / jQuery, которые вы можете Google.

  2. HTML 5 <audio> тег: <audio src="song.mp3" controls="controls"/>

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]