Название: Симуляция микрофона Отправлено: carrygun от Август 31, 2014, 14:38 Всем привет.
Сразу скажу что название, возможно, неподходящее. В общем мне надо направить звуковой файл на вход микрофона, как будто "это я говорю". Думаю понятно, о чем речь идет. Я знаю что такие программы есть, но мне надо невероятно простое и лучше бы набросать самому, заодно возможно будет опыт. Я почитал документацию по multimedia и думал что все будет хорошо с QAudioOutput. Сначала я подсмотрел пример и решил действовать в лоб: проиграть семпл на стандартном входе (микрофон), но я слышал этот звук в колонках, никак записать его не удалось. Потом решил писать в поток, но вышло примерно то же самое. Вот пример: Код
Писать в поток входа не получилось, он доступен только для чтения. Люди добрые, поделитесь советом, или ссылок накидайте в этом направлении. Название: Re: Симуляция микрофона Отправлено: Bepec от Август 31, 2014, 15:27 Цитировать проиграть семпл на стандартном входе (микрофон), но я слышал этот звук в колонках, никак записать его не удалось. Это как? :)А по делу - ищите опен сорс проекты по передаче звука аля ventrilo, только умеющими ещё и звук транслировать :) Название: Re: Симуляция микрофона Отправлено: carrygun от Август 31, 2014, 15:37 Отдельно эти вещи сделать не трудно, а вот скомбинировать как раз не могу.
Название: Re: Симуляция микрофона Отправлено: Bepec от Август 31, 2014, 16:18 Если нетрудно, выкиньте код как делать по отдельности :) Желательно работающий. И я, а то и десятки людей скажут вам спасибо :D
Название: Re: Симуляция микрофона Отправлено: carrygun от Август 31, 2014, 16:56 Как снять звук с микрофона и как вывести в колонки есть в справке по QAudioInput и QAudioOutput соответственно. Вот здесь (http://www.codeproject.com/Articles/421287/Cross-Platform-Microphone-Audio-Processing-Utility), например, вывод звука с микрофона на колонки с преобразованием.
Я просто не пойму можно ли средствами Qt подать звук на микрофон программно? Или надо копать вообще в сторону микшера и снимать с выхода а не входа? В общем я в этом не силен, поэтому и совета у вас прошу. Название: Re: Симуляция микрофона Отправлено: Bepec от Август 31, 2014, 17:24 Разобьём на части.
Для снятия звука с микрофона класс есть? есть. А есть ли класс для "впихивания" в него? нет. Следовательно ничего готового нет. Если и есть, то хитрые обходы и недокументированные возможности, но вряд ли :) А т.к. работа с микрофоном не кроссплатформенна без Qt, то нужно копать в сторону Api ОС. Название: Re: Симуляция микрофона Отправлено: navrocky от Август 31, 2014, 22:07 Зависит от звуковой карты. Она или может записывать с проигрывающего тракта или не может. Конкретно с микрофонного входа, в любом случае, ты воспроизводимый звук не получишь.
Запись воспроизводимого звука как правило управляется в микшере звуковухи. К примеру под Linux, при использовании alsamixer на некоторых звуковухах можно включить эту возможность. Под виндой я хз. ЗЫЖ Самое надежное решение - с твоей прогой прикладывать проводок, который будет соединять выход наушников с микрофоном :D Название: Re: Симуляция микрофона Отправлено: xokc от Сентябрь 02, 2014, 08:17 Поддержу предыдущего оратора. Добавлю, что эта возможность скорее зависит от конкретного набора драйверов, используемого API и даже версии ОС. Универсального решения типа "воткнул и работает" не получится. Хотя вариант-то такой есть - называется Virtual Audio Cable (http://software.muzychenko.net/eng/vac.htm), правда только под Windows и за деньги. Там можно соединить выходы и входы звуковых плат и программ "виртуальным кабелем", что и позволит решить твою задачу.
|