|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
|
AndreySol |
|
|||
Опытный Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: нет Всего: 1 |
На форумах несколько раз попадалось, что люди успешно делали прослушивание линии / проигрывание в линию.
Мне необходимо сделать прослушивание линии, причем желательно с момента начала набора номера (если такое возможно). Просветите, как такое сделать ? |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
имхо теоретически можно , но подключаемый модем паралельно к линии будет ее садить сильно , и будет слышно что тя пишут :(
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
AndreySol |
|
|||
Опытный Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: нет Всего: 1 |
Нет параллельное подключение не нуно, нуно через сам модем прослушивать.
В принципе я разобрался как сделать прием данных с линии используя WaveIn...-функции, однако не получается затем принятые данные синхронно скармливать WaveOut..-функциям - начинается бардак, судя по всему из-за отсутствия синхронизации приема\передачи. |
|||
|
||||
black_priest |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 19.3.2007 Где: Minsk Репутация: нет Всего: нет |
Я так понимаю ты "скармливаешь" данные WaveOut для того чтобы их услышать? И если можно в двух словах как ты данные с линии получаешь, тема заинтересовала, сам со звуком вожусь. Если есть данные, то WaveOut должна их проигрывать, есть только пара тонких моментов на которых сперва можно сподкнуться.
Это сообщение отредактировал(а) black_priest - 28.6.2007, 18:44 |
|||
|
||||
AndreySol |
|
||||
Опытный Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: нет Всего: 1 |
Сначала обычным способом открываю линию, получаю ID-ы для "wave/in" и "wave/out".
Затем при соединении запускаю получение данных с линии в WaveIn...-функции:
затем пытаюсь полученные в WaveIn данные передать в WaveOut:
Т.е. в общем получается, что как только получена первая порция данных, в WaveInCallback копируем эти данные в буфер для WaveOut и запускаем воспроизведение. Результат следующий - в контрольный файл входные данные пишутся прекрасно, а на прослушивании идут накладки и пропуски звука. Какие есть идеи как синхронизировать WaveOut относительно WaveIn ? |
||||
|
|||||
black_priest |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 19.3.2007 Где: Minsk Репутация: нет Всего: нет |
Вообще, в таких случаях нужно использовать принцип двойной буферизации. Т. е. при проигрывании очередного буфера функцией waveOut, следующий буфер на проигрывание уже должен быть в очереди, тогда поток воспроизведения будет непрерывным. И с получением звука тоже нужно так поступать. Насколько я помню, если не использовать это, то в момент переключения буферов будут раздоваться щелчки.
|
|||
|
||||
AndreySol |
|
|||
Опытный Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: нет Всего: 1 |
Да пробовал я эту двойную буферизацию, проблемы синхронизации WaveOut относительно WaveIn она не решает.
Может еще какие мысли ? |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
можно попробывать в цикле , читать и писать маленькими кусочками, только обезопасится от зависаний при чтении и отсутствие данных, типа таймаутов у ком порта -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
AndreySol |
|
|||
Опытный Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: нет Всего: 1 |
Примерчик бы, а то ничего дельного в голову не приходит.
Кстати, проблему вобщем-то решить можно через DirectShow - после установки Voice-модема (по крайней мере у меня) появляется два фильтра, которые могут принимать и передавать данные по нему, естественно без всяких проблем. Причем используя стандартный фильтр-расщепитель сигнала (InfTee кажись) мона сигнал подать на прослушку и на запись. Вот только знать-бы, что такие фильтры есть обязательное дело для всех Voice-модемов ? |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
имхо
часть и применяется к модемам , у которых есть режим, и этот фильтр притсуствует в системе в не зависимости есть ли в системе модем вообще имхо -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
black_priest |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 19.3.2007 Где: Minsk Репутация: нет Всего: нет |
Не знаю, у меня решает. Просто может где-то ошибаешься. Оцифровывать звук и одновременно воспроизводить его с некоторой задержкой - вполне решаемая задача с помощью waveIn/Out функций.
|
|||
|
||||
AndreySol |
|
|||
Опытный Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: нет Всего: 1 |
black_priest
Блин, дайте код - хотябы тот момент где реализована прослушка линии ! |
|||
|
||||
AndreySol |
|
|||
Опытный Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: нет Всего: 1 |
black_priest
отзовитесь пожалуйста ! |
|||
|
||||
black_priest |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 19.3.2007 Где: Minsk Репутация: нет Всего: нет |
Я прошу прощения за паузу, но честно говоря с кодом, который прослушивает линию не могу помочь. К сожалению, я не работал с TAPI, я работал с waveIn/Out функциями и наталкивался на проблемы синхронизации о которых ты пишешь. Не совсем понимаю, что значит
или под прослушкой линии имеется ввиду что-то другое? |
|||
|
||||
Ciminance |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 24.10.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |