Предполагая, что вы говорите о Windows, по сути, есть три способа сделать это.
Первый - открыть основной выход аудиоустройства в качестве источника записи. Это возможно только тогда, когда драйвер поддерживает это, хотя большинство из них в наши дни. Распространенными именами для виртуального устройства являются «Что вы слышите» или «Волновой выход». Вам потребуется использовать подходящий API (см. WaveIn или DirectSound в MSDN) для захвата.
Второй способ - написать драйвер фильтра, который может перехватывать аудиопоток до того, как он достигнет физического устройства. Опять же, этот метод будет работать только для устройств, которые имеют подходящую топологию драйвера, и, конечно, не для слабонервных.
Это означает, что ни один из этих параметров не будет гарантированно работать на ПК с произвольным оборудованием.
Последняя альтернатива - использовать виртуальное аудиоустройство, такое как Virtual Audio Cable . Если это устройство установлено в качестве устройства воспроизведения по умолчанию в Windows, то все приложения с хорошим поведением будут воспроизводиться через него. Затем вы можете выполнить запись с того же устройства, чтобы получить суммарный результат. Пока у вас есть контроль над устройством, которое использует приложение, которое вы хотите записать, эта опция всегда будет работать.
Все эти методы имеют свои плюсы и минусы - вам решать, какой из них будет наиболее подходящим для ваших нужд.