В MSDN есть много примеров кода, хотя они не охватывают NAudio, у них есть несколько примеров, которые подробно показывают, как использовать Windows Audio Session API.
Поскольку WASAPI - это API только для родного языка, есть и примеры проектов, которые показывают вам, как использовать этот API из приложения Here только для родного языка, а также образцы, которые показывают, как создать собственный компонент, который обертывает API для потребление от приложения CSharp. Я не мог найти прямую ссылку на образец C#/C++, но он включен в пакет Windows 8 App Samples. Тогда есть возможность написать управляемую обертку для API в целом, но если вам не нравится боль и вы ищете приключение в маршалинге, я бы не рекомендовал его ...
Если вы разрабатываете Windows Phone, тогда есть VOIP-образец в WP8 SDK, который охватывает как захват и передачу аудиоданных PCM с использованием WASAPI.
Как отметил Марк, размер буфера данных pcm может отличаться со временем, и это отчасти связано с тем, что WASAPI является аудио-интерфейсом с низкой задержкой и поэтому имеет как небольшую абстракцию между потребителем (ваше приложение) и производителя (водителя), насколько это возможно. Хотя нет ничего, что помешает вам сделать некоторые исправления размера буферизации самостоятельно и только передать данные в приложение, когда ваш собственный буфер заполнен.
Спасибо за ответ. Я видел этот пример, но кажется, что размер буфера постоянно изменяется (7000-8000 байт.) Есть ли способ изменить этот код, чтобы сделать буфер постоянным? – AudioMaster
Я думаю, что это артефакт пути реализации WASAPI. Вы можете сами разбить буферы на куски, если вам нужен постоянный размер. –