Condividi tramite


StatefulCallClient interface

Definisce i metodi che consentono a CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> di essere usati con stato. L'interfaccia fornisce l'accesso allo stato proxied e consente anche di registrare un gestore per gli eventi di modifica dello stato. Per la definizione dello stato, vedere CallClientState.

Gli eventi di modifica dello stato sono basati su:

  • Dati restituiti dalle <xref:%40azure%2Fcommunication-calling%23DeviceManager> API.
  • Dati restituiti dalle <xref:%40azure%2Fcommunication-calling%23CallAgent> API.
  • Listener collegati automaticamente a vari oggetti di comunicazione di Azure:
    • CallAgent 'incomingCall'
    • CallAgent 'callUpdated'
    • DeviceManager 'videoDevicesUpdated'
    • DeviceManager 'audioDevicesUpdated
    • DeviceManager 'selectedMicrophoneChanged'
    • DeviceManager 'selectedSpeakerChanged'
    • Chiamare 'stateChanged'
    • Chiamare 'idChanged'
    • Chiamare 'isMutedChanged'
    • Chiamare 'isScreenSharingOnChanged'
    • Chiamare 'remoteParticipantsUpdated'
    • Chiamare 'localVideoStreamsUpdated'
    • IncomingCall 'callEnded'
    • RemoteParticipant 'stateChanged'
    • RemoteParticipant 'isMutedChanged'
    • RemoteParticipant 'displayNameChanged'
    • RemoteParticipant 'isSpeakingChanged'
    • RemoteParticipant 'videoStreamsUpdated'
    • RemoteVideoStream 'isAvailableChanged'
    • TrascrizioneCallFeature 'isTranscriptionActiveChanged'
    • RecordingCallFeature 'isRecordingActiveChanged'
Extends

Metodi

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

Esegue il rendering di un oggetto RemoteVideoStreamState o LocalVideoStreamState e archivia la visualizzazione VideoStreamRendererViewState risultante nello stato di RemoteVideoStreamState o LocalVideoStreamState o LocalVideoStreamState . Sotto il cappuccio chiama <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenario 1: Eseguire il rendering di RemoteVideoStreamState

Scenario 2: Rendering LocalVideoStreamState per una chiamata

  • CallId è obbligatorio, participantId deve essere non definito e il flusso di tipo LocalVideoStreamState è obbligatorio.

  • L'oggetto <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> deve essere già avviato usando <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • Il risultato di VideoStreamRendererViewState viene archiviato nel callId localVideoStreams specificato in CallClientState.

  • Scenario 2: Rendering LocalVideoStreamState non parte di una chiamata (esempio di rendering della fotocamera per l'anteprima locale)

  • CallId deve essere non definito, participantId deve essere non definito e il flusso di tipo LocalVideoStreamState è obbligatorio.

  • Il risultato di VideoStreamRendererViewState viene archiviato in sotto l'oggetto LocalVideoStreamState specificato in<xref:CallClientState.deviceManager.unparentedViews>

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

Arresta il rendering di un oggetto RemoteVideoStreamState o LocalVideoStreamState e rimuove l'oggetto <xref:VideoStreamRendererView> dall'oggetto RemoteVideoStreamState pertinente in CallClientState o in CallClientState o <xref:LocalVideoStream> appropriato <xref:CallClientState.deviceManager.unparentedViews> Sotto la cappa chiama .<xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>

È importante eliminareView per pulire correttamente le risorse.

Scenario 1: Dispose RemoteVideoStreamState

  • CallId è obbligatorio, l'id partecipante è obbligatorio e il flusso di tipo RemoteVideoStreamState è obbligatorio

Scenario 2: Dispose LocalVideoStreamState per una chiamata

  • CallId è obbligatorio, participantId deve essere non definito e il flusso di tipo LocalVideoStreamState è obbligatorio.

  • Scenario 2: Dispose LocalVideoStreamState non fa parte di una chiamata

  • CallId deve essere non definito, participantId deve essere non definito e il flusso di tipo LocalVideoStreamState è obbligatorio.

  • LocalVideoStreamState deve essere quello originale passato a createView.

getState()

Contiene tutti gli stati che è possibile eseguire il proxy da CallClient come CallClientState <xref:%40azure%2Fcommunication-calling%23CallClient>CallClientState.

offStateChange((state: CallClientState) => void)

Consente di annullare la registrazione per gli eventi 'stateChanged'.

onStateChange((state: CallClientState) => void)

Consente a un gestore di essere registrati per gli eventi 'stateChanged'.

Metodi ereditati

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent viene usato per gestire le chiamate. Per creare CallAgent, passare un oggetto CommunicationTokenCredential fornito da SDK.

  • CallClient può avere un'istanza di CallAgent attiva alla volta.
  • È possibile creare una nuova istanza di CallClient per creare un nuovo CallAgent.
  • È possibile eliminare l'oggetto CallAgent corrente di CallClient e chiamare nuovamente il metodo createCallAgent() di CallClient per creare un nuovo CallAgent.
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

TeamsCallAgent viene usato per gestire le chiamate di Teams. Per creare TeamsCallAgent, passare un oggetto CommunicationTokenCredential fornito da SDK.

  • CallClient può avere un'istanza di TeamsCallAgent attiva alla volta.
  • È possibile creare una nuova istanza di CallClient per creare un nuovo TeamsCallAgent.
  • È possibile eliminare l'attivo di TeamsCallAgent corrente di CallClient e chiamare nuovamente il metodo createTeamsCallAgent() di CallClient per creare un nuovo TeamsCallAgent.
feature<TFeature>(CallClientFeatureFactory<TFeature>)

Recupera un oggetto Feature inizializzato e memoizzato con l'API estesa. Controllare l'oggetto Features.* per tutte le funzionalità client di chiamate estese disponibili in questo pacchetto.

getDeviceManager()

DeviceManager viene usato per gestire dispositivi multimediali, ad esempio fotocamere, microfoni e altoparlanti.

Dettagli metodo

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

Esegue il rendering di un oggetto RemoteVideoStreamState o LocalVideoStreamState e archivia la visualizzazione VideoStreamRendererViewState risultante nello stato di RemoteVideoStreamState o LocalVideoStreamState o LocalVideoStreamState . Sotto il cappuccio chiama <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenario 1: Eseguire il rendering di RemoteVideoStreamState

Scenario 2: Rendering LocalVideoStreamState per una chiamata

  • CallId è obbligatorio, participantId deve essere non definito e il flusso di tipo LocalVideoStreamState è obbligatorio.

  • L'oggetto <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> deve essere già avviato usando <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • Il risultato di VideoStreamRendererViewState viene archiviato nel callId localVideoStreams specificato in CallClientState.

  • Scenario 2: Rendering LocalVideoStreamState non parte di una chiamata (esempio di rendering della fotocamera per l'anteprima locale)

  • CallId deve essere non definito, participantId deve essere non definito e il flusso di tipo LocalVideoStreamState è obbligatorio.

  • Il risultato di VideoStreamRendererViewState viene archiviato in sotto l'oggetto LocalVideoStreamState specificato in<xref:CallClientState.deviceManager.unparentedViews>

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

Parametri

callId

undefined | string

CallId per il flusso specificato. Può essere non definito se il flusso non fa parte di alcuna chiamata.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> associato all'oggetto RemoteVideoStreamState specificato. Potrebbe non essere definito se il rendering di LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState o RemoteVideoStreamState per avviare il rendering.

options
CreateViewOptions

Opzioni passate a <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer>.

Restituisce

Promise<undefined | CreateViewResult>

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

Arresta il rendering di un oggetto RemoteVideoStreamState o LocalVideoStreamState e rimuove l'oggetto <xref:VideoStreamRendererView> dall'oggetto RemoteVideoStreamState pertinente in CallClientState o in CallClientState o <xref:LocalVideoStream> appropriato <xref:CallClientState.deviceManager.unparentedViews> Sotto la cappa chiama .<xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>

È importante eliminareView per pulire correttamente le risorse.

Scenario 1: Dispose RemoteVideoStreamState

  • CallId è obbligatorio, l'id partecipante è obbligatorio e il flusso di tipo RemoteVideoStreamState è obbligatorio

Scenario 2: Dispose LocalVideoStreamState per una chiamata

  • CallId è obbligatorio, participantId deve essere non definito e il flusso di tipo LocalVideoStreamState è obbligatorio.

  • Scenario 2: Dispose LocalVideoStreamState non fa parte di una chiamata

  • CallId deve essere non definito, participantId deve essere non definito e il flusso di tipo LocalVideoStreamState è obbligatorio.

  • LocalVideoStreamState deve essere quello originale passato a createView.

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

Parametri

callId

undefined | string

CallId per il flusso specificato. Può essere non definito se il flusso non fa parte di alcuna chiamata.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> associato all'oggetto RemoteVideoStreamState specificato. Potrebbe non essere definito se si elimina LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState o RemoteVideoStreamState per eliminare.

getState()

Contiene tutti gli stati che è possibile eseguire il proxy da CallClient come CallClientState <xref:%40azure%2Fcommunication-calling%23CallClient>CallClientState.

function getState(): CallClientState

Restituisce

offStateChange((state: CallClientState) => void)

Consente di annullare la registrazione per gli eventi 'stateChanged'.

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

Parametri

handler

(state: CallClientState) => void

Callback originale da annullare.

onStateChange((state: CallClientState) => void)

Consente a un gestore di essere registrati per gli eventi 'stateChanged'.

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

Parametri

handler

(state: CallClientState) => void

Callback per ricevere lo stato.

Dettagli dei metodi ereditati

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent viene usato per gestire le chiamate. Per creare CallAgent, passare un oggetto CommunicationTokenCredential fornito da SDK.

  • CallClient può avere un'istanza di CallAgent attiva alla volta.
  • È possibile creare una nuova istanza di CallClient per creare un nuovo CallAgent.
  • È possibile eliminare l'oggetto CallAgent corrente di CallClient e chiamare nuovamente il metodo createCallAgent() di CallClient per creare un nuovo CallAgent.
function createCallAgent(tokenCredential: CommunicationTokenCredential, options?: CallAgentOptions): Promise<CallAgent>

Parametri

tokenCredential
CommunicationTokenCredential

Credenziali del token. Usare AzureCommunicationTokenCredential da @azure/communication-common per creare credenziali.

options
CallAgentOptions

CallAgentOptions per opzioni aggiuntive come il nome visualizzato.

Restituisce

Promise<CallAgent>

Ereditato da CallClient.createCallAgent

createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

TeamsCallAgent viene usato per gestire le chiamate di Teams. Per creare TeamsCallAgent, passare un oggetto CommunicationTokenCredential fornito da SDK.

  • CallClient può avere un'istanza di TeamsCallAgent attiva alla volta.
  • È possibile creare una nuova istanza di CallClient per creare un nuovo TeamsCallAgent.
  • È possibile eliminare l'attivo di TeamsCallAgent corrente di CallClient e chiamare nuovamente il metodo createTeamsCallAgent() di CallClient per creare un nuovo TeamsCallAgent.
function createTeamsCallAgent(tokenCredential: CommunicationTokenCredential, options?: TeamsCallAgentOptions): Promise<TeamsCallAgent>

Parametri

tokenCredential
CommunicationTokenCredential

Credenziali del token. Usare AzureCommunicationTokenCredential da @azure/communication-common per creare credenziali.

options
TeamsCallAgentOptions

CallAgentOptions per opzioni aggiuntive come il nome visualizzato.

Restituisce

Promise<TeamsCallAgent>

Ereditato da CallClient.createTeamsCallAgent

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Recupera un oggetto Feature inizializzato e memoizzato con l'API estesa. Controllare l'oggetto Features.* per tutte le funzionalità client di chiamate estese disponibili in questo pacchetto.

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

Parametri

factory

CallClientFeatureFactory<TFeature>

Factory per il costruttore di funzionalità client di chiamata che fornisce un'API estesa.

Restituisce

TFeature

Ereditato da CallClient.feature

getDeviceManager()

DeviceManager viene usato per gestire dispositivi multimediali, ad esempio fotocamere, microfoni e altoparlanti.

function getDeviceManager(): Promise<DeviceManager>

Restituisce

Promise<DeviceManager>

Ereditato da CallClient.getDeviceManager