2010-11-21 1 views
0

У меня есть длинный mp3-файл, размещенный на стандартном сервере Apache (до 30 минут, но я бы хотел, чтобы он работал с более длинные звуки).HTML: Как начать воспроизведение звука из среднего URL-адреса без буферизации всех звуковых данных в этот момент

Я хотел бы начать воспроизведение этого звука в указанной точке.

При попытке использовать Flash ActionScript 3 мои основные тесты показывают, что ВСЕ звук с начала до позиции, которую я выбираю, буферизуется перед воспроизведением (Sound.bytesLoaded был моим другом здесь). Если я запустил одну секунду, для начала воспроизведения требуется около 3 секунд, 30 секунд, займет около 25 секунд. Очевидно, что с очень длинной mp3, например, пропуская воспроизведение до середины трехчасовой аудиокниги, это не будет практичным.

Вот код ActionScript 3.0 Я использую:

button.addEventListener(MouseEvent.MOUSE_DOWN, function():void { 
var s:Sound = new Sound(); 
var req:URLRequest = new URLRequest("http://example.com/audio.mp3"); 
s.load(req); 
s.play(30 * 60 * 1000); // start 30 seconds in. 
} 
); 

Каждый знает, если это вообще возможно в Flash?

Если нет, возможно ли это сделать с веб-страницы без установки серверного решения?

Большое спасибо.

ответ

1

Как я понимаю, речь идет о регулярной «прогрессивной загрузке» по HTTP и потоковой передаче.

В стандартной настройке обычный HTTP-сервер и Flash Player не могут пропустить мимо частей mp3 или видео, все данные до этого момента должны быть загружены первыми, как вы описали.

Одним из способов включения пропусков/поиска является использование потокового сервера, например, Adobe Flash Media Streaming Server или альтернатива с открытым исходным кодом Red5 для обслуживания mp3.

Но есть способы, чтобы установить так называемый «pseudostreaming» на сервере HTTP:

http://flowplayer.org/plugins/streaming/pseudostreaming.html

+0

Спасибо - это очень полезно. Псевдо-потоковое выглядит наиболее привлекательной идеей, я собираюсь экспериментировать с аудио-FLV-файлом и только с PHP-решением по ссылке. –

 Смежные вопросы

  • Нет связанных вопросов^_^