Получить длину звука в ActionScript - PullRequest
0 голосов
/ 13 августа 2011

Я думаю, что мой вопрос действительно простой.Я пытаюсь использовать класс Sound of actionscript.Мой код действительно прост:

var snd:Sound = new Sound();
snd.load(new URLRequest("mysound.mp3"));
trace( new String(snd.length));
snd.play();

Звук воспроизводится очень хорошо, но по моему следу я получаю 0 вместо длины в миллисекундах звука.Есть идеи?

1 Ответ

2 голосов
/ 14 августа 2011

Это так, как это должно работать.

snd.load() загружается асинхронно.Это означает, что код НЕ будет зависать во время загрузки звука.Это было специально разработано с учетом использования Flash в богатых интернет-приложениях, где могут загружаться большие звуковые файлы.В таких случаях было бы ужасно работать с пользователем, если приложение зависало во время загрузки звука.

Сразу после вызова загрузки ничего не было загружено, поэтому snd.length возвращает 0. onSoundCompleteсобытие запускается, когда звук полностью загружен, то есть когда вы получаете ожидаемое значение для snd.length.

Cheers,

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