> Довольно неплохо в случае с модемами. Там есть одна > тонкость, если решишь использовать - расскажу. Расскажи. Просто я некоторое время сам долбался и решал этот вопрос в 1.4 (нужна была совместимость с 98-й вынью), а там тапи помогает только до момента, где она отдает DeviceID wave-устройства, и дальше с ним работать также как с любым audio-capture устройством.
Неужели 3.0 уже обзавелась высокоуровневыми интерфесами типа MCI и снять трубку, дозвониться и записать ответ в wav в нужном формате теперь можно одной командой?
А именно модем при переходе в войсовый режим шлет мне поток байтов которые можно записать и потом послать модему и он их прекрасно проиграет в линию. Как бы их научится в .wav перекидывать и наоборот...
Еще можно через TAPI 3.x17.01.03 18:15 Автор: leo <Леонид Юрьев> Статус: Elderman
> Довольно неплохо в случае с модемами. Там есть одна > тонкость, если решишь использовать - расскажу. Расскажи. Просто я некоторое время сам долбался и решал этот вопрос в 1.4 (нужна была совместимость с 98-й вынью), а там тапи помогает только до момента, где она отдает DeviceID wave-устройства, и дальше с ним работать также как с любым audio-capture устройством.
Неужели 3.0 уже обзавелась высокоуровневыми интерфесами типа MCI и снять трубку, дозвониться и записать ответ в wav в нужном формате теперь можно одной командой?
TAPI318.01.03 13:24 Автор: leo <Леонид Юрьев> Статус: Elderman
В TAPI3 определен набор COM-интерфейсов, довольно навороченно.
Самая существенная разница пожалуй в том, что одним и тем-же кодом можно работать с call-центрами (например voip) и обычными модемами (http://leo.yuriev.ru/LyVote/general.htm).
Есть конечно и свои минусы, на C++ IMHO не очень удобно работать с COM-объектами, на Delphi или VB удобнее.
Еще стоит посмотреть что будет на эту тему в Windows.NET, потому как в текущих версиях TAPI 3.0 и 3.1 (для W2K и XP) не все гладко и удобно.
Да ладно вам. Я с модемом просто через COM порт на уровне АТ команд работаю :-/18.01.03 11:39 Автор: Killer{R} <Dmitry> Статус: Elderman
Включение voice-режима модема это из расширенного набора - смотри в доке по конкретному модему, можешь еще найти inf установленного модема и попытаться дернуть оттуда - это если предполагается работа на разных системах с разными модемами.
Если только у тебя, то можешь опять таки глянуть inf или включить voice из какой-нить проги и глянуть логу - не помню, где-то в windows\ я ее находил когда занимался этим - туда пишется вся лога последнего взаимодействия с модемом. Ну а потом скорее всего модем начнет выдавать raw pcm звук, тут уж точно надо MSACM и MMIO функции, для записи в wav. Где искать примеры - смотри верхний пост.
Используй ACM и MMIO функции16.01.03 15:51 Автор: amirul <Serge> Статус: The Elderman
Модем шлет тебе RAW данные. Запаковать и перегнать в wav нужно самому. В который раз могу посоветовать DDREC - прогу их Knowlege Base-а (поискать по MSDN Library, которая на компактах идет, или на microsoft.com именно в разделе KB запрос Direct-To-Disc Recorder). Там сырцы проигрывания/записи wav файлов с любым кодеком, установленным в системе (для телефона лучше всего gsm 6.10 - стандартный, в отличие от mp3, и имеет хорошее сжатие, разработанное специально для голоса).
Если ты уже получил поток, то как найти модемовский Wave device учить не буду :-))) - на этом форуме я это уже несколько раз делал :-)))
Скажу только, что открывать его (waveInOpen) нужно обязательно с флагом WAVE_MAPPED. В отличие от звуковых карт модемы чаще всего имеют всего один формат (битовость, частота, количество каналов), который поддерживается аппаратно, на все остальные будет ответ: неверный формат. А этот флаг разрешает винде прозрачно преобразовывать форматы.