Как обрабатывать ошибки, загружаемые с помощью класса Flex Sound

StackOverflow https://stackoverflow.com/questions/80863

Вопрос

Я наблюдаю странное поведение с flash.media.Класс звука в Flex 3.

var sound:Sound = new Sound();
try{
sound.load(new URLRequest("directory/file.mp3"))
} catch(e:IOError){
 ...
}

Однако это не помогает.Я получаю ошибку stream, и на самом деле она находится в конструкторе Sound.

Ошибка #2044:Необработанный IOErrorEvent:.текст= Ошибка # 2032:Ошибка потока.в...]

Я видел один пример в документах Flex, где они добавляют прослушиватель событий для IOErrorEvent, КОНЕЧНО, мне не нужно этого делать, и я могу просто использовать try-catch?Могу ли я установить нулевой прослушиватель событий?

Это было полезно?

Решение

Ошибка = целевой файл не может быть найден (или по какой-либо другой причине не может быть прочитан).Проверьте путь к вашему файлу.

Редактировать:Я только что понял, что, возможно, это не ваша проблема, вы просто пытаетесь поймать ошибку ввода-вывода?Если это так, вы можете сделать это:

var sound:Sound = new Sound();
sound.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
sound.load(new URLRequest("directory/file.mp3"));

function ioErrorHandler(event:IOErrorEvent):void {
    trace("IO error occurred");
}

Другие советы

Вам нужно будет добавить прослушиватель, поскольку запрос URL не выполняется мгновенно.Это будет очень быстро, если вы загружаетесь с диска, но вам все равно понадобится прослушиватель событий.Есть хороший пример того, как это настроить (в комплекте с обработкой IOErrorEvent) в livedocs ( живые документы ).

try ... catch применяется только к ошибкам, которые выдаются при вызове этой функции.Любой метод, который включает загрузку данных из сети, с диска и т.д., будет асинхронным, то есть он выполняется неправильно при вашем вызове, но вместо этого это происходит вскоре после вашего вызова.В этом случае вам действительно нужен addEventListener, чтобы перехватывать любые ошибки или события или знать, когда он завершит загрузку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top