Поделиться через


Функция lineMonitorMedia (tapi.h)

Функция lineMonitorMedia включает и отключает обнаружение типов мультимедиа (режимов) в указанном вызове. При обнаружении типа мультимедиа в приложение отправляется сообщение. Дополнительные сведения см. в разделе ITLegacyCallMediaControl::MonitorMedia.

Синтаксис

LONG lineMonitorMedia(
  HCALL hCall,
  DWORD dwMediaModes
);

Параметры

hCall

Дескриптор вызова. Состояние вызова hCall может быть любым, кроме состояния простоя.

dwMediaModes

Отслеживаемые типы мультимедиа. Если этот параметр равен нулю, он отменяет обнаружение всех типов мультимедиа. Этот параметр использует одну или несколько констант LINEMEDIAMODE_.

Возвращаемое значение

Возвращает ноль при успешном выполнении запроса или отрицательное число ошибки при возникновении ошибки. Возможные возвращаемые значения:

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALMEDIAMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM LINEERR_UNINITIALIZED.

Комментарии

Типы мультимедиа, указанные с помощью lineOpen , относятся только к включению обнаружения этих типов носителей поставщиком услуг с целью передачи новых входящих вызовов в соответствующее приложение. Они не влияют на уведомления в режиме мультимедиа, которые ожидаются из-за предыдущего вызова lineMonitorMedia.

Эта функция считается успешной, если мониторинг типов мультимедиа был инициирован правильно, а не при завершении мониторинга типов мультимедиа. Мониторинг мультимедиа для данного типа мультимедиа остается в силе до тех пор, пока он не будет явно отключен путем вызова lineMonitorMedia с параметром dwMediaModes , равным нулю, до тех пор, пока вызов не перейдет в режим простоя или когда приложение отменит дескриптор вызова для вызова. Функция lineMonitorMedia в основном является механизмом отчетности о событиях. Тип носителя (режим) вызова, как указано в LINECALLINFO, не влияет на обнаружение поставщиком услуг этого типа мультимедиа. Только управляющее приложение может изменить тип носителя вызова.

Мониторинг мультимедиа по умолчанию, выполняемый поставщиком услуг, соответствует объединению всех типов мультимедиа, указанных в lineOpen.

Хотя эту функцию можно вызвать в любом состоянии вызова, тип мультимедиа вызова обычно можно обнаружить только в том случае, если вызов находится в определенных состояниях вызова. Эти состояния могут быть зависят от устройства. Например, в ISDN сообщение может указать тип медиапотока до его появления. Аналогичным образом для идентификации типа носителя вызова можно использовать отличительные звонки или сведения о вызываемом идентификаторе вызова. В противном случае может потребоваться ответ на вызов (вызов в подключенном состоянии), чтобы поставщик услуг мог определить тип носителя вызова путем фильтрации потока мультимедиа. Так как фильтрация потока мультимедиа вызова подразумевает вычислительные издержки, приложения должны отключить мониторинг мультимедиа, если это не требуется. По умолчанию мониторинг мультимедиа включен для новых входящих вызовов, так как тип носителя звонка выбирает приложение, которое должно обрабатывать вызов.

Исходящему приложению, которое работает с типами голосовых носителей, может потребоваться отслеживать вызов тишины (тон), чтобы определить, кто или что находится в вызываемом конце звонка. Например, человек дома может отвечать на звонки с коротким "привет". Сотрудник в офисе может предоставить более длинное приветствие с указанием имени и названия компании. Автоответчик обычно может иметь еще большее приветствие.

Так как обнаружение в режиме мультимедиа, включаемое lineMonitorMedia , реализуется как операция только для чтения в потоке мультимедиа вызова, это не нарушает работу.

Мониторинг мультимедиа во время конференц-звонка применяется только к параметру hConfCall , а не к отдельным участвующим звонкам.

Требования

Требование Значение
Целевая платформа Windows
Header tapi.h
Библиотека Tapi32.lib
DLL Tapi32.dll

См. также раздел

LINECALLINFO

Функции дополнительных линейных служб

Обзор справочника по TAPI 2.2

LineОткрыть