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