Как найти аудиоустройство по умолчанию в Visual Basic .NET? - PullRequest
0 голосов
/ 19 марта 2012

Это должно быть в состоянии работать для последних двух или трех версий Windows (7, Vista и, вероятно, XP).В Visual Basic .NET, как мне найти аудиоустройство по умолчанию (я ищу динамики и прочее, а не микрофоны).Спасибо!

РЕДАКТИРОВАТЬ: Ребята, я действительно иду на незнакомую территорию здесь.Кажется, что каждый раз, когда я пытаюсь использовать пример кода, возникают ошибки сборки, которые не могут быть более загадочными и включают в себя ошибки, возникающие внутри библиотек, и тому подобное.Есть ли что-нибудь для начинающего, чтобы узнать, как это сделать?Спасибо!

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

В Windows есть несколько аудио API, и все они предлагают перечисление устройств. Недавний «основной» API предназначен только для Vista +, поэтому вам нужно решить, важна ли поддержка XP.

Vista + перечисление: Перечисление аудиоустройств

Код подходит для всех версий Windows: Пример: как перечислить устройства waveIn и waveOut в вашей системе

Это приведенные выше ссылки на код C ++, в VB.NET вам понадобятся вызовы P / Invoke или библиотека-обертка, такая как NAudio, чтобы позаботиться о внутренних деталях.

0 голосов
/ 20 марта 2012

Некоторые аудио API (WinMM, DirectSound, DirectShow, Media Foundation, WASAPI) позволяют перечислять устройства, но предлагают стандартное значение;некоторые (Beep, PlaySound) разрешают играть только через устройство по умолчанию.

Простейшим API для начала является PlaySound (ну, кроме, возможно, Beep, но он имеет ограниченную полезность). Во что вы пытаетесь играть?Это поможет определить выбор используемого API.

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