Получить и воспроизвести mp3-файлы из MySQL, используя Javascript / PHP - PullRequest
0 голосов
/ 13 июля 2010

Я создаю сайт, который хранит несколько mp3-файлов в MySQL.На данный момент только 5, так что эффективность не является проблемой вообще.

В настоящее время я все еще пытаюсь создать кросс-браузерное / платформенное решение, которое не потребует других форматов файлов.

Iиметь скрипт PHP, который извлекает двоичные данные в формате mp3 и отправляет соответствующий заголовок в браузер.Затем файлы могут быть извлечены путем указания src элемента audio (будь то аудио, встраивание или другое) следующим образом: src = "retrieve_audio.php? UniqueAudioID = [Файл, идентифицирующий переменную PHP]".PHP-файл retrieve_audio берет идентификатор базы данных, указанный в URL, и извлекает данные, отправляет их с заголовком на запрашивающую страницу ...

Это хорошо работает для аудио и встраивает теги в Safari.Хорошо работает для встраивания в IE 6, 7 и 8.

По какой-то причине Safari называет это потоком - вероятно, потому что размер файла не указан - а элементы управления не позволяют очистить файл независимо от того,тега используется (аудио или вставлять).IE, кажется, понимает длину полученного файла, хотя это явно не указано.

Реальная проблема, однако, заключается в Firefox, Opera и Chrome.Они, кажется, не понимают этого вообще.FIrefox показывает элемент управления в течение нескольких секунд, а затем отображает X как - я не могу воспроизвести это ... Я знаю о проблемах с тегом в Firefox.То же самое делает с встраиванием.Opera и Chrome просто либо ничего не отображают, либо пустой белый квадрат.

Любые предложения?

Я никогда не думал, что мне придется бороться с Firefox за что-то, что работает в IE!

Любой вклад будет высоко ценится.

M

Ответы [ 2 ]

0 голосов
/ 13 июля 2010

Раньше у меня были проблемы с Firefox, он ожидает HTTP-заголовок длины содержимого с почти всем.

Вы можете попытаться узнать длину содержимого файла MP3, используя SQL SELECT data, LENGTH(data) FROM ..., а затем установить заголовок HTTP, используя header("Content-length: $lengthField");

0 голосов
/ 13 июля 2010

попробуйте загрузить MP3 на ваш веб-сервер, затем сохранить ссылку на MP3 в базе данных Mysql, а затем просто сказать php, чтобы получить ссылку, и отобразить html-код для вставки со ссылкой в ​​качестве источника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...