PDA

Просмотр полной версии : Event.SOUND_COMPLETE с отключёнными драйверами звука


Neborya
21.03.2010, 00:59
Если отключить аудио-драйвера, то выполнение 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
Да проще уж try catch использовать, для того и придумано.
try ... catch надо использовать в самую последнюю очередь.

scarbo
21.03.2010, 10:00
try ... catch надо использовать в самую последнюю очередь.
Почему?

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

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

Neborya
22.03.2010, 03:44
Да, наверное.