Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > TAPI


Автор: this 3.2.2006, 15:46
Собственно как сделать?

Автор: Romikgy 3.2.2006, 15:58
Кем снятия трубки?

Автор: this 3.2.2006, 16:03
Цитата(Romikgy @ 3.2.2006, 15:58)
Кем снятия трубки?

Абонента, которому я звоню(обыкновенный телефон)

Автор: Romikgy 3.2.2006, 17:27
Просто читаешь из модема, и анализируешь, есть ли 425 Гц , если нет более чем 4 сек, значит подняли, один из вариантов, можно анализировать на присутствие голаса абонента.

Автор: this 3.2.2006, 17:47
Цитата(Romikgy @ 3.2.2006, 17:27)
Просто читаешь из модема, и анализируешь, есть ли 425 Гц , если нет более чем 4 сек, значит подняли, один из вариантов, можно анализировать на присутствие голаса абонента.

А как это реализовать-то? Не подкинешь кода?

Автор: Romikgy 3.2.2006, 17:53
Через тапи никогда , не делал smile А через СОМ порт делал , конечно модем должен поддерживать войс-режим!
Алгоритм таков, после набора номера, переводишь модем в войс-режим, и начинаешь читать из порта данные, далее анализируешь чем хошь, т.е. любым алгоритмом, есть 425ГЦ ждем 1 сек, проверяем нет ждем еще 3 сек (по памяти пишу, насколько помню 1 сек сигнал 425Гц, и 3 сек пауза, это КПВ- контроль посылки вызова) если снова тишина, или не 425Гц то трубка снята.
посмотри здесь алгоритмы ДСП
http://dsp-book.narod.ru/

Автор: Romikgy 3.2.2006, 22:26
Код

The lineMonitorMedia function enables and disables the detection of media modes on the specified call. When a media mode is detected, a message is sent to the application. 

LONG lineMonitorMedia(

    HCALL hCall,    
    DWORD dwMediaModes    
   );    
 

Parameters

hCall 

A handle to the call. The call state of hCall can be any state except idle. 

dwMediaModes 

The media modes to be monitored. A value of zero for the dwMediaModes parameter cancels all media mode detection. This parameter can have multiple flags set. This parameter uses the following LINEMEDIAMODE_ constants: 

LINEMEDIAMODE_INTERACTIVEVOICE 

The application wants to handle calls of the interactive voice media type (it manages live voice calls). 

LINEMEDIAMODE_AUTOMATEDVOICE 

Voice energy is present on the call and the voice is locally handled by an automated application. 

LINEMEDIAMODE_DATAMODEM 

The application wants to handle calls with the data modem media mode. 

LINEMEDIAMODE_G3FAX 

The application wants to handle calls of the group 3 fax media type. 

LINEMEDIAMODE_TDD 

The application wants to handle calls with the TDD (Telephony Devices for the Deaf) media mode. 

LINEMEDIAMODE_G4FAX 

The application wants to handle calls of the group 4 fax media type. 

LINEMEDIAMODE_DIGITALDATA 

The application wants to handle calls of the digital data media type 

LINEMEDIAMODE_TELETEX 

The application wants to handle calls with the teletex media mode. 

LINEMEDIAMODE_VIDEOTEX 

The application wants to handle calls with the videotex media mode. 

LINEMEDIAMODE_TELEX 

The application wants to handle calls with the telex media mode. 

LINEMEDIAMODE_MIXED 

The application wants to handle calls with the ISDN mixed media mode. 

LINEMEDIAMODE_ADSI 

The application wants to handle calls with the ADSI (Analog Display Services Interface) media mode. 

LINEMEDIAMODE_VOICEVIEW 

The media mode of the call is VoiceView. 

 

Return Values

Returns zero if the request is successful or a negative error number if an error has occurred. Possible return values are: 
LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALMEDIAMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

Мож это подойдет?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)