Проверка наличия звукового устройства приложением

Здравствуйте, джентльмены!

Сегодня, работая над проектом не за своей обычной машиной, а за подвернувшимся под руку Windows-сервером, я случайно узнал о любопытном но, к счастью, документированном нюансе класса Sound. Если в системе отсутствует звуковая карта, то после попытки воспроизведения звука метод play() возвращает null, что может стать причиной ошибки, генерируемой отлично работавшим на других машинах кодом.

Приведу пример:

var menuMusic: Sound = new MenuMusic; // так называется наш звук
var menuMusicSoundChannel: SoundChannel = new SoundChannel(); // здесь пока всё в порядке
menuMusicSoundChannel = menuMusic.play(); // строка выполняется, но после её выполнения menuMusicSoundChannel будет равно null
menuMusicSoundChannel.stop(); // и вот здесь флэшплеер выдаст ошибку об обращении к методу объекта, являющегося null'ом.

Указанный выше код отлично работает на машине со звуковой картой, но поведёт себя так, как написано в комментариях, на системе без неё.
Читать дальше →
  • +17