Actionscript 3 - проверка, если URLRequest не удается - PullRequest
1 голос
/ 11 сентября 2011

У меня есть музыкальный проигрыватель, который загружает 2 файла, а затем воспроизводит 2 файла на 2 отдельных звуковых каналах. Мне нужно проверить, может ли второй музыкальный файл загружаться, и затем позволить элементам управления воспроизведением проверить это, чтобы определить, сколько звуковых каналов нужно воспроизвести. Могу ли я сделать что-то вроде:

var soundFile2:URLRequest = new URLRequest("mp3Player/king.mp3");
....
myMusic2.load(soundFile2, myContext);
if (soundFile2 != null){
    channel2 = myMusic2.play(channel.position);
    }

Ответы [ 2 ]

2 голосов
/ 11 сентября 2011

Вам необходимо добавить прослушиватели событий для Event.COMPLETE и для IOErrorEvent.IO_ERROR:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Sound.html#includeExamplesSummary

Загрузка файлов выполняется асинхронно, поэтому вы не можете проверить результат в строке после вызова загрузки в своем примере кода, вам нужно дождаться ответа, который приходит позже, с помощью прослушивателя событий.

0 голосов
/ 11 сентября 2011

Вы можете использовать URLLoader, как показано в ответ на Adobe Air, как проверить, находится ли URL-адрес в сети \ дает ли какой-либо ответ?

Несмотря на то, что в вопросе написано «AIR», в ответе используются только библиотеки flash.events и flash.net. Основным недостатком не-AIR версии является то, что вы не можете выполнять запросы «HEAD», а только «GET». Поскольку вы планируете загружать файлы, если они доступны, это не должно быть проблемой для вас.

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