Функция lineMonitorTones (tapi.h)
Функция lineMonitorTones включает и отключает обнаружение сигналов по полосе во время вызова. При каждом обнаружении указанного сигнала в приложение отправляется сообщение.
Синтаксис
LONG lineMonitorTones(
HCALL hCall,
LPLINEMONITORTONE const lpToneList,
DWORD dwNumEntries
);
Параметры
hCall
Обратитесь к вызову, для которого требуется отслеживать тоны голосового канала. Состояние вызова hCall может быть любым, кроме состояния простоя.
lpToneList
Список отслеживаемых тонов. Этот параметр имеет тип LINEMONITORTONE. Каждый тон в этом списке имеет определенное приложением поле тега, которое используется для идентификации отдельных тонов в списке, чтобы сообщить об обнаружении сигнала. Выполняющееся отслеживание сигналов отменяется или изменяется путем вызова этой операции с помощью null для lpToneList или с другим списком звуковых сигналов.
dwNumEntries
Количество записей в lpToneList. Этот параметр игнорируется, если lpToneList имеет значение NULL.
Возвращаемое значение
Возвращает ноль, если запрос выполнен успешно, или отрицательный номер ошибки при возникновении ошибки. Возможные возвращаемые значения:
LINEERR_INVALCALLHANDLE, LINEERR_INVALCALLSTATE, LINEERR_INVALPOINTER, LINEERR_INVALTONE, LINEERR_NOMEM, LINEERR_OPERATIONFAILED, LINEERR_OPERATIONUNAVAIL, LINEERR_RESOURCEUNAVAIL LINEERR_UNINITIALIZED.
Комментарии
Эта функция выполняется успешно, если мониторинг звуковых сигналов был запущен правильно, а не при завершении мониторинга. Мониторинг сигналов остается в силе до тех пор, пока он не будет явно отключен путем вызова lineMonitorTones с другим списком сигналов (или null), пока вызов не перейдет в режим простоя или пока приложение не освободит свой дескриптор вызова для вызова.
Хотя эту функцию можно вызывать в любом состоянии вызова, обычно тоны могут обнаруживаться только в том случае, когда вызов находится в подключенном состоянии. Для обнаружения тона обычно требуются вычислительные ресурсы. В зависимости от поставщика услуг и других действий, которые конкурируют за такие ресурсы, количество тонов, которые могут быть обнаружены, может меняться со временем. Кроме того, эквивалентное количество ресурсов можно использовать для мониторинга одного трехчастотного сигнала по сравнению с тремя одночастотными тонами. Если ресурсы перефиксированы, возвращается ошибка LINEERR_RESOURCEUNAVAIL.
Функция lineMonitorTones также используется для обнаружения тишины. Тишина задается как тон с нулевой частотой.
Мониторинг сигналов во время конференции применяется только к hConfCall, а не к отдельным участвующим звонкам
Если возвращается значение ошибки LINEERR_INVALPOINTER, указанный параметр lpToneList является недопустимым или значение, указанное параметром dwNumEntries, слишком велико.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | tapi.h |
Библиотека | Tapi32.lib |
DLL | Tapi32.dll |