Есть ли способ получить действительное свойство sound.length до завершения потоковой загрузки? - PullRequest
0 голосов
/ 14 октября 2011

Я хотел бы знать, какой битрейт является песней, поэтому я считаю это следующим образом:

var bitrate = Math.floor( 8*_snd.bytesTotal/_snd.length);

, но, к сожалению, я не могу получить действительное значение для _snd.length до загрузки всей песни.Есть ли другой способ достичь этой ценности?Добрейший Павел

Ответы [ 2 ]

0 голосов
/ 15 октября 2011

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

Но поскольку ваш вопрос на самом деле касается скорости передачи данных, а не длины, я бы посоветовал вам загрузить звуковой файл, например, с помощью URLStream, и прочитать информацию о скорости передачи данных из кадров MP3. Это биты с 17 по 20 кадра MP3.

0 голосов
/ 14 октября 2011

У вас есть информация ID3?
Если это так, вы можете получить это от этого, хотя это не надежно, поскольку это зависит от кодировщика В качестве альтернативы вы можете попробовать это программное обеспечение сторонних производителей.

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