Função lineMonitorMedia (tapi.h)
A função lineMonitorMedia habilita e desabilita a detecção de tipos de mídia (modos) na chamada especificada. Quando um tipo de mídia é detectado, uma mensagem é enviada para o aplicativo. Para obter mais informações, consulte ITLegacyCallMediaControl::MonitorMedia.
Sintaxe
LONG lineMonitorMedia(
HCALL hCall,
DWORD dwMediaModes
);
Parâmetros
hCall
Manipule para a chamada. O estado de chamada de hCall pode ser qualquer estado, exceto ocioso.
dwMediaModes
Tipos de mídia a serem monitorados. Se esse parâmetro for zero, ele cancelará toda a detecção de tipo de mídia. Esse parâmetro usa uma ou mais constantes de LINEMEDIAMODE_.
Retornar valor
Retornará zero se a solicitação for bem-sucedida ou um número de erro negativo se ocorrer um erro. Os possíveis valores retornados são:
LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALMEDIAMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.
Comentários
Os tipos de mídia especificados com lineOpen relacionam-se apenas à habilitação da detecção desses tipos de mídia pelo provedor de serviços com a finalidade de entregar novas chamadas de entrada para o aplicativo adequado. Eles não afetam nenhuma das mensagens de notificação do modo de mídia esperadas devido a uma invocação anterior de lineMonitorMedia.
Essa função será considerada bem-sucedida se o monitoramento de tipo de mídia tiver sido iniciado corretamente, não quando o monitoramento de tipo de mídia for encerrado. O monitoramento de mídia para um determinado tipo de mídia permanece em vigor até que ele seja explicitamente desabilitado chamando lineMonitorMedia com um parâmetro dwMediaModes definido como zero, até que a chamada faça a transição para ocioso ou quando o aplicativo desalocar seu identificador de chamada para a chamada. A função lineMonitorMedia é principalmente um mecanismo de relatório de eventos. O tipo de mídia (modo) da chamada, conforme indicado em LINECALLINFO, não é afetado pela detecção do tipo de mídia pelo provedor de serviços. Somente o aplicativo controlador pode alterar o tipo de mídia de uma chamada.
O monitoramento de mídia padrão executado pelo provedor de serviços corresponde à união de todos os tipos de mídia especificados em lineOpen.
Embora essa função possa ser invocada em qualquer estado de chamada, o tipo de mídia de uma chamada normalmente só pode ser detectado enquanto a chamada está em determinados estados de chamada. Esses estados podem ser específicos do dispositivo. Por exemplo, no ISDN, uma mensagem pode indicar o tipo de mídia do fluxo de mídia antes que o fluxo de mídia exista. Da mesma forma, toques distintos ou as informações de identificador chamadas sobre a chamada podem ser usadas para identificar o tipo de mídia de uma chamada. Caso contrário, a chamada pode ter que ser atendida (chamada no estado conectado ) para permitir que um provedor de serviços determine o tipo de mídia da chamada filtrando o fluxo de mídia. Como a filtragem do fluxo de mídia de uma chamada implica uma sobrecarga computacional, os aplicativos devem desabilitar o monitoramento de mídia quando não for necessário. Por padrão, o monitoramento de mídia está habilitado para chamadas recém-recebidas, pois o tipo de mídia de uma chamada seleciona o aplicativo que deve lidar com a chamada.
Um aplicativo de saída que lida com tipos de mídia de voz pode querer monitorar a chamada de silêncio (um tom) para distinguir quem ou o que está no final de uma chamada chamado. Por exemplo, uma pessoa em casa pode atender chamadas com apenas um breve "olá". Uma pessoa no escritório pode fornecer uma saudação mais longa, indicando o nome e o nome da empresa. Normalmente, um computador de resposta pode ter uma saudação ainda mais longa.
Como a detecção de modo de mídia habilitada por lineMonitorMedia é implementada como uma operação somente leitura do fluxo de mídia da chamada, ela não é disruptiva.
O monitoramento de mídia em uma chamada em conferência aplica-se apenas ao parâmetro hConfCall , não às chamadas participantes individuais.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | tapi.h |
Biblioteca | Tapi32.lib |
DLL | Tapi32.dll |
Confira também
Funções de serviço de linha suplementar