Ответ 1
Предполагая, что вы говорите о Windows, есть три способа сделать это.
Первый - открыть основной выход аудиоустройства в качестве источника записи. Это возможно только в том случае, если драйвер поддерживает его, хотя большинство из них делает это в наши дни. Обычными именами для виртуального устройства являются "What You Hear" или "Wave Out". Для выполнения захвата вам понадобится использовать подходящий API (см. WaveIn или DirectSound в MSDN).
Второй способ - написать драйвер фильтра, который может перехватить аудиопоток, прежде чем он достигнет физического устройства. Опять же, этот метод будет работать только для устройств, которые имеют подходящую топологию драйвера, и это, конечно, не для слабонервных.
Это означает, что ни один из этих параметров не будет гарантированно работать на ПК с произвольным оборудованием.
Последняя альтернатива - использовать виртуальное аудиоустройство, например Virtual Audio Cable. Если это устройство установлено как устройство воспроизведения defualt в Windows, тогда все хорошо управляемые приложения будут играть через него. Затем вы можете записать с того же устройства, чтобы захватить суммированный результат. Пока у вас есть контроль над устройством, которое приложение, которое вы хотите записать, использует этот параметр, всегда будет работать.
Все эти методы имеют свои плюсы и минусы, чтобы решить, какой из них будет наиболее подходящим для ваших нужд.