Управляемый DirectX поддерживает прямой захват аудио и очень прост в использовании, но больше не поддерживается и был удален из DirectX SDK в прошлом году. Все еще можно получить , установив версию SDK до августа 2007 года.
Хотя это не совсем соответствует вашим требованиям, более надежным подходом было бы создание сборки-оболочки C ++ / CLI вокруг собственного C ++ DirectSound API, снова из DirectX SDK. Это может быть вызвано непосредственно из кода C #. Это, безусловно, более мощный и поддерживаемый подход, несмотря на то, что он требует определенных знаний C ++ и COM.
Я использовал оба этих метода в прошлом, и они оба хорошо работают.