Partilhar via


StatefulCallClient interface

Define os métodos que permitem que CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> seja utilizado com monitorização de estado. A interface fornece acesso ao estado proxied e também permite registar um processador para eventos de alteração de estado. Para a definição de estado, veja CallClientState.

Os eventos de alteração de estado são impulsionados por:

  • Dados devolvidos de <xref:%40azure%2Fcommunication-calling%23DeviceManager> APIs.
  • Dados devolvidos de <xref:%40azure%2Fcommunication-calling%23CallAgent> APIs.
  • Os serviços de escuta anexados automaticamente a vários objetos de chamadas de comunicação do Azure:
    • CallAgent "incomingCall"
    • CallAgent "callsUpdated"
    • DeviceManager "videoDevicesUpdated"
    • DeviceManager 'audioDevicesUpdated
    • DeviceManager "selectedMicrophoneChanged"
    • DeviceManager "selectedSpeakerChanged"
    • Chamar "stateChanged"
    • Chamar "idChanged"
    • Chamar "isMutedChanged"
    • Chamar "isScreenSharingOnChanged"
    • Chamar "remoteParticipantsUpdated"
    • Chamar "localVideoStreamsUpdated"
    • IncomingCall "callEnded"
    • RemoteParticipant "stateChanged"
    • RemoteParticipant "isMutedChanged"
    • RemoteParticipant "displayNameChanged"
    • RemoteParticipant "isSpeakingChanged"
    • RemoteParticipant "videoStreamsUpdated"
    • RemoteVideoStream "isAvailableChanged"
    • TranscriptionCallFeature "isTranscriptionActiveChanged"
    • RecordingCallFeature "isRecordingActiveChanged"
Extends

Métodos

createView(undefined | string, undefined | CommunicationIdentifier, LocalVideoStreamState | RemoteVideoStreamState, CreateViewOptions)

Compõe um RemoteVideoStreamState ou LocalVideoStreamState e armazena o VideoStreamRendererViewState resultante no RemoteVideoStreamState ou LocalVideoStreamState relevante ou como vista não preparada no estado. Debaixo dos bastidores chama <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Cenário 1: Compor RemoteVideoStreamState

  • CallId é necessário, participantId é necessário e é necessário um fluxo do tipo RemoteVideoStreamState
  • O VideoStreamRendererViewState resultante é armazenado no callId e no participantId indicados em CallClientState

Cenário 2: Compor LocalVideoStreamState para uma chamada

  • O CallId é obrigatório, o participantId tem de ser indefinido e é necessário um fluxo do tipo LocalVideoStreamState.

  • O <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> tem de já ser iniciado com <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • O VideoStreamRendererViewState resultante é armazenado no callId localVideoStreams em CallClientState.

  • Cenário 2: Compor LocalVideoStreamState não faz parte de uma chamada (por exemplo, câmara de composição para pré-visualização local)

  • O CallId tem de ser indefinido, o participantId tem de ser indefinido e é necessário um fluxo do tipo LocalVideoStreamState.

  • O VideoStreamRendererViewState resultante é armazenado no localVideoStreamState indicado em <xref:CallClientState.deviceManager.unparentedViews>

disposeView(undefined | string, undefined | CommunicationIdentifier, LocalVideoStreamState | RemoteVideoStreamState)

Deixa de compor um RemoteVideoStreamState ou LocalVideoStreamState e remove o <xref:VideoStreamRendererView> do RemoteVideoStreamState relevante em CallClientState ou <xref:LocalVideoStream> em CallClientState ou adequado <xref:CallClientState.deviceManager.unparentedViews> Sob as chamadas <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>de bastidor.

É importante eliminarVer para limpar os recursos corretamente.

Cenário 1: Eliminar RemoteVideoStreamState

  • CallId é necessário, participantId é necessário e é necessário um fluxo do tipo RemoteVideoStreamState

Cenário 2: Eliminar LocalVideoStreamState para uma chamada

  • O CallId é obrigatório, o participantId tem de ser indefinido e é necessário um fluxo do tipo LocalVideoStreamState.

  • Cenário 2: Eliminar LocalVideoStreamState não faz parte de uma chamada

  • O CallId tem de ser indefinido, o participantId tem de ser indefinido e é necessário um fluxo do tipo LocalVideoStreamState.

  • LocalVideoStreamState tem de ser o original transmitido para createView.

getState()

Contém todo o estado em que poderíamos utilizar o proxy de CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> como CallClientState CallClientState.

offStateChange((state: CallClientState) => void)

Permite anular o registo de eventos "stateChanged".

onStateChange((state: CallClientState) => void)

Permite que um processador seja registado para eventos "stateChanged".

Métodos Herdados

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

O CallAgent é utilizado para processar chamadas. Para criar o CallAgent, transmita um objeto CommunicationTokenCredential fornecido a partir do SDK.

  • O CallClient só pode ter uma instância CallAgent ativa de cada vez.
  • Pode criar uma nova instância CallClient para criar um novo CallAgent.
  • Pode eliminar o CallAgent ativo atual de um CallClient e chamar novamente o método createCallAgent() do CallClient para criar um novo CallAgent.
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

O TeamsCallAgent é utilizado para processar chamadas do Teams. Para criar o TeamsCallAgent, transmita um objeto CommunicationTokenCredential fornecido a partir do SDK.

  • O CallClient só pode ter uma instância ativa do TeamsCallAgent de cada vez.
  • Pode criar uma nova instância CallClient para criar um novo TeamsCallAgent.
  • Pode eliminar o TeamsCallAgent ativo atual de um CallClient e chamar novamente o método createTeamsCallAgent() do CallClient para criar um novo TeamsCallAgent.
feature<TFeature>(CallClientFeatureFactory<TFeature>)

Obtém um objeto de Funcionalidade inicializado e memorando com a API expandida. Verifique o objeto Funcionalidades.* para ver todas as funcionalidades de cliente de chamada alargada disponíveis neste pacote.

getDeviceManager()

O DeviceManager é utilizado para processar dispositivos multimédia, como câmaras, microfones e altifalantes.

Detalhes de Método

createView(undefined | string, undefined | CommunicationIdentifier, LocalVideoStreamState | RemoteVideoStreamState, CreateViewOptions)

Compõe um RemoteVideoStreamState ou LocalVideoStreamState e armazena o VideoStreamRendererViewState resultante no RemoteVideoStreamState ou LocalVideoStreamState relevante ou como vista não preparada no estado. Debaixo dos bastidores chama <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Cenário 1: Compor RemoteVideoStreamState

  • CallId é necessário, participantId é necessário e é necessário um fluxo do tipo RemoteVideoStreamState
  • O VideoStreamRendererViewState resultante é armazenado no callId e no participantId indicados em CallClientState

Cenário 2: Compor LocalVideoStreamState para uma chamada

  • O CallId é obrigatório, o participantId tem de ser indefinido e é necessário um fluxo do tipo LocalVideoStreamState.

  • O <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> tem de já ser iniciado com <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • O VideoStreamRendererViewState resultante é armazenado no callId localVideoStreams em CallClientState.

  • Cenário 2: Compor LocalVideoStreamState não faz parte de uma chamada (por exemplo, câmara de composição para pré-visualização local)

  • O CallId tem de ser indefinido, o participantId tem de ser indefinido e é necessário um fluxo do tipo LocalVideoStreamState.

  • O VideoStreamRendererViewState resultante é armazenado no localVideoStreamState indicado em <xref:CallClientState.deviceManager.unparentedViews>

function createView(callId: undefined | string, participantId: undefined | CommunicationIdentifier, stream: LocalVideoStreamState | RemoteVideoStreamState, options?: CreateViewOptions): Promise<undefined | CreateViewResult>

Parâmetros

callId

undefined | string

CallId para o fluxo especificado. Pode ser indefinido se o fluxo não fizer parte de qualquer chamada.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> associado ao RemoteVideoStreamState especificado. Pode ser indefinido se estiver a compor LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState ou RemoteVideoStreamState para iniciar a composição.

options
CreateViewOptions

Opções que são transmitidas para o <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer>.

Devoluções

Promise<undefined | CreateViewResult>

disposeView(undefined | string, undefined | CommunicationIdentifier, LocalVideoStreamState | RemoteVideoStreamState)

Deixa de compor um RemoteVideoStreamState ou LocalVideoStreamState e remove o <xref:VideoStreamRendererView> do RemoteVideoStreamState relevante em CallClientState ou <xref:LocalVideoStream> em CallClientState ou adequado <xref:CallClientState.deviceManager.unparentedViews> Sob as chamadas <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>de bastidor.

É importante eliminarVer para limpar os recursos corretamente.

Cenário 1: Eliminar RemoteVideoStreamState

  • CallId é necessário, participantId é necessário e é necessário um fluxo do tipo RemoteVideoStreamState

Cenário 2: Eliminar LocalVideoStreamState para uma chamada

  • O CallId é obrigatório, o participantId tem de ser indefinido e é necessário um fluxo do tipo LocalVideoStreamState.

  • Cenário 2: Eliminar LocalVideoStreamState não faz parte de uma chamada

  • O CallId tem de ser indefinido, o participantId tem de ser indefinido e é necessário um fluxo do tipo LocalVideoStreamState.

  • LocalVideoStreamState tem de ser o original transmitido para createView.

function disposeView(callId: undefined | string, participantId: undefined | CommunicationIdentifier, stream: LocalVideoStreamState | RemoteVideoStreamState)

Parâmetros

callId

undefined | string

CallId para o fluxo especificado. Pode ser indefinido se o fluxo não fizer parte de qualquer chamada.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> associado ao RemoteVideoStreamState especificado. Pode ser indefinido se eliminar LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState ou RemoteVideoStreamState a eliminar.

getState()

Contém todo o estado em que poderíamos utilizar o proxy de CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> como CallClientState CallClientState.

function getState(): CallClientState

Devoluções

offStateChange((state: CallClientState) => void)

Permite anular o registo de eventos "stateChanged".

function offStateChange(handler: (state: CallClientState) => void)

Parâmetros

handler

(state: CallClientState) => void

Chamada de retorno original a anular a subscrição.

onStateChange((state: CallClientState) => void)

Permite que um processador seja registado para eventos "stateChanged".

function onStateChange(handler: (state: CallClientState) => void)

Parâmetros

handler

(state: CallClientState) => void

Chamada de retorno para receber o estado.

Detalhes do Método Herdado

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

O CallAgent é utilizado para processar chamadas. Para criar o CallAgent, transmita um objeto CommunicationTokenCredential fornecido a partir do SDK.

  • O CallClient só pode ter uma instância CallAgent ativa de cada vez.
  • Pode criar uma nova instância CallClient para criar um novo CallAgent.
  • Pode eliminar o CallAgent ativo atual de um CallClient e chamar novamente o método createCallAgent() do CallClient para criar um novo CallAgent.
function createCallAgent(tokenCredential: CommunicationTokenCredential, options?: CallAgentOptions): Promise<CallAgent>

Parâmetros

tokenCredential
CommunicationTokenCredential

A credencial do token. Utilize AzureCommunicationTokenCredential de @azure/communication-common para criar uma credencial.

options
CallAgentOptions

CallAgentOptions para opções adicionais, como o nome a apresentar.

Devoluções

Promise<CallAgent>

Herdado de CallClient.createCallAgent

createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

O TeamsCallAgent é utilizado para processar chamadas do Teams. Para criar o TeamsCallAgent, transmita um objeto CommunicationTokenCredential fornecido a partir do SDK.

  • O CallClient só pode ter uma instância ativa do TeamsCallAgent de cada vez.
  • Pode criar uma nova instância CallClient para criar um novo TeamsCallAgent.
  • Pode eliminar o TeamsCallAgent ativo atual de um CallClient e chamar novamente o método createTeamsCallAgent() do CallClient para criar um novo TeamsCallAgent.
function createTeamsCallAgent(tokenCredential: CommunicationTokenCredential, options?: TeamsCallAgentOptions): Promise<TeamsCallAgent>

Parâmetros

tokenCredential
CommunicationTokenCredential

A credencial do token. Utilize AzureCommunicationTokenCredential de @azure/communication-common para criar uma credencial.

options
TeamsCallAgentOptions

CallAgentOptions para opções adicionais, como o nome a apresentar.

Devoluções

Promise<TeamsCallAgent>

Herdado de CallClient.createTeamsCallAgent

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Obtém um objeto de Funcionalidade inicializado e memorando com a API expandida. Verifique o objeto Funcionalidades.* para ver todas as funcionalidades de cliente de chamada alargada disponíveis neste pacote.

function feature<TFeature>(factory: CallClientFeatureFactory<TFeature>): TFeature

Parâmetros

factory

CallClientFeatureFactory<TFeature>

A fábrica do construtor de funcionalidades cliente de chamada que fornece uma API expandida.

Devoluções

TFeature

Herdado de CallClient.feature

getDeviceManager()

O DeviceManager é utilizado para processar dispositivos multimédia, como câmaras, microfones e altifalantes.

function getDeviceManager(): Promise<DeviceManager>

Devoluções

Promise<DeviceManager>

Herdado de CallClient.getDeviceManager