Compartir a través de


StatefulCallClient interface

Define los métodos que permiten que CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> se use con estado. La interfaz proporciona acceso al estado proxy y también permite registrar un controlador para eventos de cambio de estado. Para obtener la definición de estado, consulte CallClientState.

Los eventos de cambio de estado se controlan mediante:

  • Datos devueltos de <xref:%40azure%2Fcommunication-calling%23DeviceManager> las API.
  • Datos devueltos de <xref:%40azure%2Fcommunication-calling%23CallAgent> las API.
  • Los agentes de escucha se adjuntan automáticamente a varios objetos de llamada de comunicación de Azure:
    • CallAgent 'incomingCall'
    • CallAgent 'callsUpdated'
    • DeviceManager "videoDevicesUpdated"
    • DeviceManager 'audioDevicesUpdated
    • DeviceManager "selectedMicrophoneChanged"
    • DeviceManager 'selectedSpeakerChanged'
    • Llamar a 'stateChanged'
    • Llamar a 'idChanged'
    • Llamada a 'isMutedChanged'
    • Llamada a 'isScreenSharingOnChanged'
    • Llamar a "remoteParticipantsUpdated"
    • Llamada a "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)

Representa un RemoteVideoStreamState o LocalVideoStreamState y almacena el objeto VideoStreamRendererViewState resultante en el objeto RemoteVideoStreamState o LocalVideoStreamState correspondiente o como vista no primaria en el estado. En segundo plano, llama a <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Escenario 1: Render RemoteVideoStreamState

  • CallId es obligatorio, se requiere participantId y se requiere la secuencia de tipo RemoteVideoStreamState.
  • VideoStreamRendererViewState resultante se almacena en el callId y participantId especificados en CallClientState.

Escenario 2: Representar LocalVideoStreamState para una llamada

  • CallId es obligatorio, participantId debe ser indefinido y se requiere una secuencia de tipo LocalVideoStreamState.

  • Ya <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> debe empezar a usar <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • VideoStreamRendererViewState resultante se almacena en el callId localVideoStreams especificado en CallClientState.

  • Escenario 2: Render LocalVideoStreamState no forma parte de una llamada (ejemplo de cámara de representación para la versión preliminar local)

  • CallId debe ser indefinido, participantId debe ser indefinido y se requiere una secuencia de tipo LocalVideoStreamState.

  • VideoStreamRendererViewState resultante se almacena en en la clase LocalVideoStreamState especificada en<xref:CallClientState.deviceManager.unparentedViews>

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

Detiene la representación de remoteVideoStreamState o LocalVideoStreamState y quita del <xref:VideoStreamRendererView>objeto RemoteVideoStreamState pertinente en CallClientState o <xref:LocalVideoStream> en CallClientState o en CallClientState o adecuado <xref:CallClientState.deviceManager.unparentedViews> En segundo plano llama a <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Es importante eliminarView para limpiar los recursos correctamente.

Escenario 1: Dispose RemoteVideoStreamState

  • CallId es obligatorio, se requiere participantId y se requiere la secuencia de tipo RemoteVideoStreamState.

Escenario 2: Dispose LocalVideoStreamState para una llamada

  • CallId es obligatorio, participantId debe ser indefinido y se requiere una secuencia de tipo LocalVideoStreamState.

  • Escenario 2: Dispose LocalVideoStreamState no forma parte de una llamada

  • CallId debe ser indefinido, participantId debe ser indefinido y se requiere una secuencia de tipo LocalVideoStreamState.

  • LocalVideoStreamState debe ser el original pasado a createView.

getState()

Contiene todo el estado que podríamos proxy de CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> como CallClientState CallClientState.

offStateChange((state: CallClientState) => void)

Permite anular el registro de eventos "stateChanged".

onStateChange((state: CallClientState) => void)

Permite registrar un controlador para eventos "stateChanged".

Métodos heredados

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent se usa para controlar las llamadas. Para crear CallAgent, pase un objeto CommunicationTokenCredential proporcionado desde el SDK.

  • CallClient solo puede tener una instancia activa de CallAgent a la vez.
  • Puede crear una nueva instancia de CallClient para crear un nuevo CallAgent.
  • Puede eliminar el callAgent activo actual de CallClient y volver a llamar al método createCallAgent() de CallClient para crear un nuevo CallAgent.
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

TeamsCallAgent se usa para controlar las llamadas de Teams. Para crear TeamsCallAgent, pase un objeto CommunicationTokenCredential proporcionado desde el SDK.

  • CallClient solo puede tener una instancia activa de TeamsCallAgent a la vez.
  • Puede crear una nueva instancia de CallClient para crear un nuevo TeamsCallAgent.
  • Puede eliminar el elemento TeamsCallAgent activo actual de CallClient y volver a llamar al método createTeamsCallAgent() de CallClient para crear un nuevo TeamsCallAgent.
feature<TFeature>(CallClientFeatureFactory<TFeature>)

Recupera un objeto Feature inicializado y memoizado con api extendida. Compruebe el objeto Features.* para ver todas las características de cliente de llamadas extendidas disponibles en este paquete.

getDeviceManager()

DeviceManager se usa para controlar dispositivos multimedia como cámaras, micrófonos y altavoces.

Detalles del método

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

Representa un RemoteVideoStreamState o LocalVideoStreamState y almacena el objeto VideoStreamRendererViewState resultante en el objeto RemoteVideoStreamState o LocalVideoStreamState correspondiente o como vista no primaria en el estado. En segundo plano, llama a <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Escenario 1: Render RemoteVideoStreamState

  • CallId es obligatorio, se requiere participantId y se requiere la secuencia de tipo RemoteVideoStreamState.
  • VideoStreamRendererViewState resultante se almacena en el callId y participantId especificados en CallClientState.

Escenario 2: Representar LocalVideoStreamState para una llamada

  • CallId es obligatorio, participantId debe ser indefinido y se requiere una secuencia de tipo LocalVideoStreamState.

  • Ya <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> debe empezar a usar <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • VideoStreamRendererViewState resultante se almacena en el callId localVideoStreams especificado en CallClientState.

  • Escenario 2: Render LocalVideoStreamState no forma parte de una llamada (ejemplo de cámara de representación para la versión preliminar local)

  • CallId debe ser indefinido, participantId debe ser indefinido y se requiere una secuencia de tipo LocalVideoStreamState.

  • VideoStreamRendererViewState resultante se almacena en en la clase LocalVideoStreamState especificada en<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 la secuencia especificada. Puede ser indefinido si la secuencia no forma parte de ninguna llamada.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> asociado al objeto RemoteVideoStreamState especificado. Podría ser indefinido si se representa LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState o RemoteVideoStreamState para iniciar la representación.

options
CreateViewOptions

Opciones que se pasan a <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer>.

Devoluciones

Promise<undefined | CreateViewResult>

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

Detiene la representación de remoteVideoStreamState o LocalVideoStreamState y quita del <xref:VideoStreamRendererView>objeto RemoteVideoStreamState pertinente en CallClientState o <xref:LocalVideoStream> en CallClientState o en CallClientState o adecuado <xref:CallClientState.deviceManager.unparentedViews> En segundo plano llama a <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Es importante eliminarView para limpiar los recursos correctamente.

Escenario 1: Dispose RemoteVideoStreamState

  • CallId es obligatorio, se requiere participantId y se requiere la secuencia de tipo RemoteVideoStreamState.

Escenario 2: Dispose LocalVideoStreamState para una llamada

  • CallId es obligatorio, participantId debe ser indefinido y se requiere una secuencia de tipo LocalVideoStreamState.

  • Escenario 2: Dispose LocalVideoStreamState no forma parte de una llamada

  • CallId debe ser indefinido, participantId debe ser indefinido y se requiere una secuencia de tipo LocalVideoStreamState.

  • LocalVideoStreamState debe ser el original pasado a createView.

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

Parámetros

callId

undefined | string

CallId para la secuencia especificada. Puede ser indefinido si la secuencia no forma parte de ninguna llamada.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> asociado al objeto RemoteVideoStreamState especificado. Podría ser indefinido si se elimina LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState o RemoteVideoStreamState que se va a eliminar.

getState()

Contiene todo el estado que podríamos proxy de CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> como CallClientState CallClientState.

function getState(): CallClientState

Devoluciones

offStateChange((state: CallClientState) => void)

Permite anular el registro de eventos "stateChanged".

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

Parámetros

handler

(state: CallClientState) => void

Devolución de llamada original que se va a cancelar la suscripción.

onStateChange((state: CallClientState) => void)

Permite registrar un controlador para eventos "stateChanged".

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

Parámetros

handler

(state: CallClientState) => void

Devolución de llamada para recibir el estado.

Detalles de los métodos heredados

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent se usa para controlar las llamadas. Para crear CallAgent, pase un objeto CommunicationTokenCredential proporcionado desde el SDK.

  • CallClient solo puede tener una instancia activa de CallAgent a la vez.
  • Puede crear una nueva instancia de CallClient para crear un nuevo CallAgent.
  • Puede eliminar el callAgent activo actual de CallClient y volver a llamar al método createCallAgent() de CallClient para crear un nuevo CallAgent.
function createCallAgent(tokenCredential: CommunicationTokenCredential, options?: CallAgentOptions): Promise<CallAgent>

Parámetros

tokenCredential
CommunicationTokenCredential

Credencial del token. Use AzureCommunicationTokenCredential desde @azure/communication-common para crear una credencial.

options
CallAgentOptions

CallAgentOptions para ver opciones adicionales, como el nombre para mostrar.

Devoluciones

Promise<CallAgent>

Heredado de CallClient.createCallAgent

createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

TeamsCallAgent se usa para controlar las llamadas de Teams. Para crear TeamsCallAgent, pase un objeto CommunicationTokenCredential proporcionado desde el SDK.

  • CallClient solo puede tener una instancia activa de TeamsCallAgent a la vez.
  • Puede crear una nueva instancia de CallClient para crear un nuevo TeamsCallAgent.
  • Puede eliminar el elemento TeamsCallAgent activo actual de CallClient y volver a llamar al método createTeamsCallAgent() de CallClient para crear un nuevo TeamsCallAgent.
function createTeamsCallAgent(tokenCredential: CommunicationTokenCredential, options?: TeamsCallAgentOptions): Promise<TeamsCallAgent>

Parámetros

tokenCredential
CommunicationTokenCredential

Credencial del token. Use AzureCommunicationTokenCredential desde @azure/communication-common para crear una credencial.

options
TeamsCallAgentOptions

CallAgentOptions para ver opciones adicionales, como el nombre para mostrar.

Devoluciones

Promise<TeamsCallAgent>

Heredado de CallClient.createTeamsCallAgent

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Recupera un objeto Feature inicializado y memoizado con api extendida. Compruebe el objeto Features.* para ver todas las características de cliente de llamadas extendidas disponibles en este paquete.

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

Parámetros

factory

CallClientFeatureFactory<TFeature>

Generador del constructor de características de cliente de llamada que proporciona una API extendida.

Devoluciones

TFeature

Heredado de CallClient.feature

getDeviceManager()

DeviceManager se usa para controlar dispositivos multimedia como cámaras, micrófonos y altavoces.

function getDeviceManager(): Promise<DeviceManager>

Devoluciones

Promise<DeviceManager>

Heredado de CallClient.getDeviceManager