Windows Vista / 7: Как создать микс выходного аудиосигнала?

Как я могу получить доступ к текущему потоку выходных сэмплов волны?

В вопросе декабря 2006 г. на сайте social.microsoft.com (Как записывать из 'Wave' или 'Stereo Mix' в Vista?) yjslash спросил:

В Windows XP или более ранней версии я мог записывать аудиопоток на динамик. Другими словами, DirectSoundCapture смог выполнить захват из выбранной исходной строки. И если «Wave Out Mix» или «Stereo Mix» или что-то подобное было выбрано в качестве строки источника записи, DirectSoundCapture могла записывать аудиопоток на динамик.

На что Ларри Остерман (MSFT) (разработчик аудиокоманды и Пользователь StackOverflow) ответил:

Какие API вы использовали для этого в XP? Они должны продолжать работать с Vista.

WASAPI имеет специальный режим обратной связи, который позволяет клиенту захватывать аудиопоток после микширования, что также может помочь.

Вопрос о Stackoverflow (Как читать ли я системный аудиовыход в Windows XP и Windows 7?) также упоминается, что WASAPI имеет возможность сэмплирования выходного микса и что он доступен начиная с Windows Vista.

В январе 2007 года в блоге Windows Team упоминается возможность сэмплирования аудиовыхода (в целях подавления эха; и какое влияние на него окажет HDCP):

Будет ли эхоподавление хуже работать для премиум-контента?

Мы считаем, что Windows Vista предоставляет приложениям доступ к достаточной информации для успешного создания высококачественной функции эхоподавления.

Какой API используется для выборки аудиовыхода? Какой доступ Vista предоставляет приложениям для доступа к текущему выходному аудиопотоку? Какие функции WASAPI и как их использовать позволяют производить выборку / захват текущего аудиовыхода?

Смотрите также


person Ian Boyd    schedule 27.04.2011    source источник


Ответы (1)


Я нашел это (Loopback Recording) в MSDN, а также this (Захват потока).

Кстати, согласно MSDN, WASAPI не позволит вам захватывать потоки с защитой DRM:

Windows Vista обеспечивает управление цифровыми правами (DRM). WASAPI не разрешает кольцевую запись цифровых потоков, содержащих контент с защитой DRM. Точно так же надежный аудиодрайвер не разрешает устройству обратной связи захватывать цифровые потоки, содержащие защищенный контент. Windows Vista позволяет только надежным драйверам воспроизводить защищенный контент. Дополнительные сведения о надежных драйверах и DRM см. В документации Windows DDK.

person yms    schedule 27.04.2011
comment
Учитывая утверждение команды Vista: Мы считаем, что Windows Vista предоставляет приложениям доступ к достаточной информации для успешного создания высококачественной функции эхоподавления, как можно создать высококачественную функцию эхоподавления? Для этого должен быть API. - person Ian Boyd; 27.04.2011
comment
Я думаю, что они (msdn) означают, что они предоставляют вам всю информацию, необходимую для самостоятельной реализации алгоритма. Но я не думаю, что они предоставляют для этого API. Вы можете ознакомиться с реализациями проектов с открытым исходным кодом, таких как mumble (sourceforge.net/projects/mumble ) или Speex (speex.org), и вы можете взглянуть на описания некоторых алгоритмов в академических статьях. в citeseerx (citeseerx.ist.psu.edu/viewdoc /) - person yms; 27.04.2011
comment
Я имею в виду, что я не могу реализовать свой алгоритм подавления эха, если единственный доступный api (WASAPI) иногда не захватывает вывод воспроизведения. - person Ian Boyd; 27.04.2011
comment
Это утверждение о DRM не совсем верно. Если контент защищен определенным уровнем защиты (и я не уверен, действительно ли какой-либо контент защищен на этом уровне), система должна ухудшить качество звука, полученного от ответвления петли. - person ReinstateMonica Larry Osterman; 28.04.2011
comment
@Larray Osterman, интересно, а ты сам пробовал? Утверждение исходит из MSDN, посмотрите предоставленные ссылки. - person yms; 28.04.2011
comment
Ларри Остерман (MSFT Audio Dev) против документации MSDN. Готовьтесь к бою. Борьба! - person Ian Boyd; 28.04.2011
comment
Stereo Mix все еще существует. social.technet.microsoft.com/ Форумы / ru / w7itpromedia / thread / - person yincrash; 25.09.2011
comment
@yincrash Я почти уверен, что Stereo Mix не является обязательным для поставщика драйверов, поэтому он может работать не во всех системах. - person yms; 25.09.2011