Определение DTMF сигнала после поднятия трубки

Интеграция возможностей SpRecord в ваши приложения
Ответить
alex0086
Сообщения: 9
Зарегистрирован: 05 дек 2014, 23:31

Определение DTMF сигнала после поднятия трубки

Сообщение alex0086 »

Добрый день. Нужна помощь. Пишу на VB.NET используя вашу библиотеку. И стал вопрос: Когда абонент звонит на sprecord? программа поднимает, и ждем ввода какого-нибудь числа например 5 или 6. Как мне отловить что человек послал 5 или 6. Я понимаю что это должно идти через метод PeekMessage (). Заранее спасибо.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Определение DTMF сигнала после поднятия трубки

Сообщение sannx »

Вы правильно понимаете. Читайте очередь сообщений через PeekMessage. Если не получается, то пишите конкретно, в чем, и показывайте ваш код.
Гость

Re: Определение DTMF сигнала после поднятия трубки

Сообщение Гость »

Это кусками собранный код. Мне именно не понятна одна часть именно получение DTFM сигнала.

Код: Выделить всё

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     Dim myChannel1 As SpRecordChannelClientW
     Dim sprecord As SpRecordClientW
     Dim test as object

        sprecord = CreateObject("spsdksw.SpRecordClientW")
        myChannel1 = CreateObject("spsdksw.SpRecordChannelClientW")
        myChannel1.HandsetTake()
        myChannel1.SetDTMFDetect(True)
        myChannel1.PeekMessage(test) ' вот тут когда я указываю объект, в который будет помещено сообщние. Как мне именно извлечь сообщение SPR_MSG_C_DTMF (CHANNELMSGDTMFCODE) ?
        Label3.Text = test
end sub
Как мне получить какую цифру абонент нажал?
alex0086
Сообщения: 9
Зарегистрирован: 05 дек 2014, 23:31

Re: Определение DTMF сигнала после поднятия трубки

Сообщение alex0086 »

Это я написал, забыл залогинится. Прошу прощения.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Определение DTMF сигнала после поднятия трубки

Сообщение sannx »

Согласно Справке каждое сообщение - это структура, в которой есть поле кода, идентифицирующее сообщение. Структуру и коды сообщений смотрите в Справке.
alex0086
Сообщения: 9
Зарегистрирован: 05 дек 2014, 23:31

Re: Определение DTMF сигнала после поднятия трубки

Сообщение alex0086 »

Можете привести хотябы маленький пример кода на VB.NET?
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Определение DTMF сигнала после поднятия трубки

Сообщение sannx »

На вб не могу.
alex0086
Сообщения: 9
Зарегистрирован: 05 дек 2014, 23:31

Re: Определение DTMF сигнала после поднятия трубки

Сообщение alex0086 »

Ок. попробую написать на С++. Спасибо.
alex0086
Сообщения: 9
Зарегистрирован: 05 дек 2014, 23:31

Re: Определение DTMF сигнала после поднятия трубки

Сообщение alex0086 »

Метод peekMessage (obj) в переменную obj вкладывает тип массива байт . В итого получаются массив изображенный на картинке. Как мне получить сообщение которое содержит DTMF сигнал посланный абонентом?
Вложения
Без-имени-1.jpg
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Определение DTMF сигнала после поднятия трубки

Сообщение sannx »

Посмотрите пример на C++ в SDK. А также темы в этой ветке форума.
alex0086
Сообщения: 9
Зарегистрирован: 05 дек 2014, 23:31

Re: Определение DTMF сигнала после поднятия трубки

Сообщение alex0086 »

Вы можете аську в личку скинуть? У меня все зацикливается на получении этого DTMF/ Именно это тормозит работу.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Определение DTMF сигнала после поднятия трубки

Сообщение sannx »

Что скинуть? SDK?
alex0086
Сообщения: 9
Зарегистрирован: 05 дек 2014, 23:31

Re: Определение DTMF сигнала после поднятия трубки

Сообщение alex0086 »

Нет номер icq. Если есть и еще архив из темы forum/viewtopic.php?f=26&t=207 поврежден. Можно его отправить на почту или загрузить заново?
alex0086
Сообщения: 9
Зарегистрирован: 05 дек 2014, 23:31

Re: Определение DTMF сигнала после поднятия трубки

Сообщение alex0086 »

Все сообщения закодированы в byte я правильно понимаю? Но когда я раскодироваю их то получается ерунда. Например когда идет звонок в массиве каждый инеу несет номер телефона звонящего. Когда я звонок принял, то он присылает какие то непонятные byte, например я Ж д и т.д. если я превращаю их в Char.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Определение DTMF сигнала после поднятия трубки

Сообщение sannx »

Посмотрите пример чтения сообщений в Справке SDK на С++.
alex0086
Сообщения: 9
Зарегистрирован: 05 дек 2014, 23:31

Re: Определение DTMF сигнала после поднятия трубки

Сообщение alex0086 »

Я скачал архив с примеров работы SDK на С++. И когда я вставляю код примера он выдает ошибку.

Код: Выделить всё

ISpRecordClientWDisp pMain;
IUnknown* obj;
obj=CreateComObject(CLSID_SpRecordClientW);
pMain=(IDispatch*)obj;
pMain->Connect(0, (BSTR)"",(BSTR)"");
Не определен символ "ISpRecordClientWDisp"
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Определение DTMF сигнала после поднятия трубки

Сообщение sannx »

Предлагаю вам разобраться с основами программирования на С++. На этому форуме такое обучение мы не проводим.
Ответить