Как обслуживать / передавать несколько аудиофайлов - PullRequest
1 голос
/ 18 мая 2011

Я работаю над проектом, в котором у нас много маленьких аудиофайлов размером около 500-600k.Кроме того, есть аудиофайлы размером около 15 млн.

15M-файлы - это полные статьи.Меньшие из них - это отдельные предложения в статье.

В будущем будет много пользователей и много статей.

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

Какие у меня есть варианты?Red5?Icecast?

РЕДАКТИРОВАТЬ: Я хотел бы избежать вспышки, если это вообще возможно, но не против этого - я определенно не могу использовать html5 аудио так, как хотелось бы тоже.

Я уже пытался выполнить загрузку документа для выдачи запросов на получение файлов - обычно их 15-20 на страницу.(19 маленьких файлов, один большой).Кажется, это работает не так хорошо, как я думал.

С точки зрения задержки - я ищу мгновенное воспроизведение с помощью кнопок - сейчас я могу сосчитать до 2 или 3 длямаленькие файлы и 6-7 для большого.Флэш сможет это сделать?

Ответы [ 2 ]

1 голос
/ 20 мая 2011

хорошо - так что я провёл небольшое исследование и выяснил, что использовало соревнование

это было так:

http://www.schillmania.com/projects/soundmanager2/

По сути, он пытается использовать html5-аудио-тэги с очень полезным установленным флагом 'preload = true', и если он не может этого сделать, он использует флэш-память для предварительной загрузки mp3

1 голос
/ 19 мая 2011

Потоковые решения, такие как Icecast, здесь не подходят.Все, что вам нужно, это простой HTTP.

Вы не упоминаете, с чем вы играете на клиентской стороне.Если вы делаете это во флэш-памяти, предварительно загрузить или воспроизвести его относительно просто, пока идет загрузка.

Для сжатия звука следует использовать MP3.Для речи, вы можете легко уйти с более низким битрейтом.48 кбит 44,1 кГц Моно, как правило, приемлемо.Это прекрасно загрузится даже на приличных мобильных соединениях.

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

...