Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Event.SOUND_COMPLETE с отключёнными драйверами звука (http://www.flasher.ru/forum/showthread.php?t=137714)

Neborya 21.03.2010 00:59

Event.SOUND_COMPLETE с отключёнными драйверами звука
 
Если отключить аудио-драйвера, то выполнение AS3 кода прервётся на
Код:

sound_channel.addEventListener(Event.SOUND_COMPLETE, SoundStop);
Компилятор покажет ошибку "Cannot access a property or method of a null object reference".

Представим, что кто-то запустил мою флешку с отключёнными или повреждёнными драйверами звука. Каким образом я могу узнать, что у него есть проблемы с аудио, чтобы не вызывать никакие звуковые методы?

Обращу внимание, что в случае с отключёнными драверами Capabilities.hasAudio возвращает true. поэтому определить отстутсвие звука таким способом невозможно.

Добавлено через 42 минуты
Придумал вот такой способ для проверки звука.

Код:

snd_channel = snd_test.play();
if (!snd_channel || !Capabilities.hasAudio)
bSoundDisabled = true;
else
snd_channel.stop();


gloomyBrain 21.03.2010 02:14

Да проще уж try catch использовать, для того и придумано.

etc 21.03.2010 02:17

Цитата:

Сообщение от gloomyBrain (Сообщение 894492)
Да проще уж try catch использовать, для того и придумано.

try ... catch надо использовать в самую последнюю очередь.

scarbo 21.03.2010 10:00

Цитата:

try ... catch надо использовать в самую последнюю очередь.
Почему?

etc 21.03.2010 12:13

Цитата:

Сообщение от scarbo (Сообщение 894507)
Почему?

Потому что сначала надо обработать возможные исключения руками, как то отсутствие объекта, а не глушить возникающую ошибку.

incoob 22.03.2010 01:07

Цитата:

Придумал вот такой способ для проверки звука.
Можно еще вторую проверку не делать. Это лишнее.

Neborya 22.03.2010 03:44

Да, наверное.


Часовой пояс GMT +4, время: 09:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.