Аудиофайлы на сервере встраиваются неработающими способами - PullRequest
0 голосов
/ 14 марта 2011

Я использую jPlayer для встраивания двух аудиофайлов в мою страницу, в основном код cut'n'pasted с этой страницы .Один - это WAV, другой - mp3.Все отлично работает локально (mac), но когда я загружаю его на сервер, аудио файлы перестают работать странным образом.

Chrome запускает wav-файл через 30 секунд - даже несмотря на то, что очиститель местоположения начинается с начала - и заканчивается рано, поэтому я подозреваю, что javascript получит правильную длину звукового файла независимо от этого.Mp3 даже не начинает играть.Он притворяется, что загружается, но тогда это не так.

Safari работает как-то нормально.

Firefox тоже играет нормально.Может быть, потому, что он использует флэш-память игроков?

IE8 воспроизводит mp3, но не wav, и не отображает индикатор выполнения для первого.

Сначала я подумалэто была проблема с тем, как я загрузил файлы.Первоначально я использовал Transmit, что должно быть мудро в отношении ascii vs binary.Я попытался scp использовать файлы, но они по-прежнему действовали плохо.

Тогда я подумал, что, возможно, тип mime установлен неправильно, поэтому я добавил две строки в файл .htaccess в папке моих ресурсов, ноэто ничего не изменило.Вот как выглядит файл htaccess, может быть, я забыл что-то, что мне также нужно включить?

# prevent CGI and PHP executing in assets; php_flag doesn't actually do anything
# since lower-level settings trump any attempt to turn it off in htaccess.
# I'll leave it here for posterity.
deny from all
Options -ExecCGI
php_flag engine 0 

# Break other files
<Files ~ "\.(gif|GIF|jpe?g|JPE?G|png|PNG|docx?|DOCX?|pdf|PDF|swf|SWF|flv|FLV|ppt|PPT|pps|PPS|mp3|MP3|wav|WAV)$">
order deny,allow
allow from all
</Files>

AddType audio/x-wav wav
AddType audio/mpeg mp3 

Идеи?

РЕДАКТИРОВАТЬ: я пытался изменить тип mime на application / octet-streamкак для wav, так и для mp3, и это, похоже, ничего не делает для приложения проигрывателя;если бы я связался напрямую с аудиофайлами, он загрузил бы их.

1 Ответ

0 голосов
/ 14 марта 2011

Хорошо, есть много проблем. Во-первых, вы транслируете файл WAV. Хотя я понимаю, что не все HTML5-плееры будут работать с MP3, вам действительно стоит подумать о MP3.

Вторая проблема в том, что у вашего игрока есть ошибки. Индикатор выполнения предполагает, что звук все еще воспроизводится, когда он остановился. Он исправляется только после возобновления воспроизведения звука. Сделайте себе одолжение, и используйте простой MP3-плеер на основе Flash. Я знаю, что это богохульство, но на этом этапе у вас действительно будет больше пользователей, которые смогут его использовать, и MP3 гарантированно будет работать.

Третья проблема - отсутствие пропускной способности у вашего интернет-провайдера. Я сейчас сижу на очень большой трубе, и мне понадобилось 1:51, чтобы загрузить WAV-файл 4 МБ. Я также проверил это на втором соединении. WAV несжатый и будет занимать большую полосу пропускания.

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

Я вполне уверен, что если вы используете один из множества аудиоплееров на базе Flash и используете MP3, ваши проблемы исчезнут.

...