2009-02-13 5 views
0

Мне нужно получить битрейт mp3-файла, который передается потоком в виде объекта netstream в сценариях flash-скриптов. Я использую Flash Media Server 3.2.FMS: Flash action script 3.0: Как получить битрейт mp3-файла, который транслируется из FMS

мне нужен битрейт для расчета продолжительности mp3 файл, используя формулу: Длительность = размер файла в байтах/битрейт

ответ

1

Проблема решена, проблема была в использовании флеш-плеера, я использовал версию 9, с версией 10 класс NetStreamInfo обеспечивает битрейт для mp3-файла, который не был доступен в версии 9. Спасибо большое за все помогите парням !!

1

Я не совсем уверен, MP3 потоковое, но, кажется вероятным, что информация о битрейтах доступна как часть заголовка метаданных. Почему вы не пытаетесь определить метод onMetaData() потока client и посмотреть, что он содержит?

Редактировать: Альтернативная идея: написать простой серверный скрипт для определения битрейта и запросить эту информацию отдельно от потока.

+0

Метод onMetaData() дает мне битрейт для FLV, а не для mp3. – renegadeMind

1

Вы пробовали класс NetStreamInfo (доступный через NetStream.info)?

audioBytesPerSecond

Определяет скорость, с которой аудио буфера NetStream заполняется в байт в секунду. Значение равно , рассчитанное как плавное среднее значение для данных , полученных в последних секунд.

playbackBytesPerSecond

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

Похоже, там много полезной информации.