Как при помощи файловых API-функций получить звук с микрофона и воспроизвести его? Какие параметры передавать в CreateFile?
я лично пользуюсь руским хелпом по винапи http://www.soobcha.ru/rushelp все функции для работы со звуком там вынесены в отдельный раздел общий порядок примерно такой заполнить структуру waveformatex - частота разрядность итд открыть утройство для записи-waveinopen заполнить структуру wavehdr-адрес и размер буфера подготовить буфер для записи-waveinpreparehdr поставить буфер в очередь-waveinaddbuffer начать запись waveinstart для окончания записи waveinreset-останавливает запись waveinclose-закрывает устройство записи для проигрывания все аналогично (у функций такиеже названия с out вместо in) кроме того что вместо двух функций для воспроизведения нужна лишь одна -waveoutwrite
не, ну можно конечно через winmm, но лучше сразу через DirectShow, так будет идеологически более правильно например, у меня установлены DirectShow фильтры для повышения громкости звука, что при выводе звука на наушники очень актуально. и программы, не юзающие DirectShow - увы. идут мимо фильтра...
небольшая конструкция в 3$ ценой (усилитель к наушникам с питанием от usb) и нет проблем а програмные фильтры это не выход звук портится и звуковая карта всеравно выше головы не прыгнет directshow это конечно прекрасно но уровень доступа уже не тот,
ну у меня и наушники с усилителем есть с питанием от БП компьютера, но ds-фильтры могут очень многое. увеличить разборчивость речи (акутально когда пытаешься смотреть eng фильм в оригинале, но не совсем в него врубаешься), ну и прочие эффекты... что касается микрофона - фильтрами давим самовозбуждение (это уже актуально для микрофона + колонок)... а зачем тебе низкоуровневый доступ? зато можно легким движением руки грабить звук с чего угодно, не только с микрофона, но например с фильма или другого источника, в том числе и с такого, с какого тебе грабить не положеного. потокового аудио, например...
Заходи в аську пообщаемся а низкоуровневый доступ штука очень полезная я сейчас интереса ради пишу плагин для винампа который будет выбирать на какой разьем выводить музыку (чтоб я мог слушать музыку и работать на компе в то время как родители смотрят по телевизору фильм с компьютера)
В самом Winamp есть выбор звуковой карты. В Options - Audio - DirectSound - Output Device. По умолчанию стоит Primary Sound Driver, но можно поменять на конкретную звуковуху.
имелась ввиду возможность выбора разьема на звуковой карте ака лин.выход,фронт,тыл итд(у меня на звуковой 4 разьема на выход и два на вход)
использовать наушники+микрофон и колонки для разных задач получится? т.е. 1 поток данных на вход и 2 разных потока на разные выходы.