Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Захват всего, что проигрывает звуковая карта |
Автор: metrosci 21.3.2008, 00:35 |
Здравствуйте! Возникла проблема захвата всего, что выводится на звуковую карту. Стандартное решение - в микшере выставить как источник записи "WAVE", "WhatUHear", "Stereo Mix", etc. Далее есть множество способов захватить этот звук. Но некоторые карты не поддерживают этот "virtual loopback". Сегодня таких карт довольно много и самое плохое, они широко распространены (Realtek). Стандартно захватить звук с этих карт никак не получается.. Видел упоминание о том, что можно каким-то образом захватить звук еще до его вывода в звуковую карту. Но, к сожалению, никаких подробностей найти не удалось. Тем не менее, есть работающие программы, которые все же захватывают звук на таких картах, например, Freecorder Toolbar. Поделитесь, пожалуйста, предположениями, как они это делают? P.S.: есть обходные пути - создать виртуальную звуковую карту и назначить ее картой по умолчанию, тем самым перехватив весь звук. Так работает Virtual Audio Cable. Но неужели нет никакого более простого пути? Спасибо! |
Автор: AntonChik 21.3.2008, 17:01 |
а как же Total Recorder? |
Автор: metrosci 21.3.2008, 21:11 | ||
что total recorder? есть его исходники? Вопрос не в том, какие программы умеют это делать, вопрос - как они это делают. Звук мне необходимо захватывать в собственном приложении. Подозреваю, что универсального метода нет, т.к. звук может выводиться различными способами.. Попробуем сузить задачу - необходимо захватывать звук, воспроизводимый играми через DirectSound. Существует ли стандартный способ как-то перехватить\захватить его? Причем результат захвата нужен не в файле (насколько я знаю, это умеет делать DirectShow), а мелкими кусками в буфере - захваченный звук потом будет передан моим приложением клиентскому приложению. |
Автор: siew 30.11.2009, 10:21 |
Я делаю так, в DirectShow cтавлю SampleGrabber на аудио-потоке и получаю кусочки звука в буфере. Вот только как дальше с ними работать для получения нужного мне результата пока не знаю. Я хочу что бы мой захваченый звук воспринимался как звук какого нибудь виртуального источника звука, каторый бы я мог выбмрать в приложениях (например в Skype). |