Condividi tramite


StatefulCallClient interface

Definisce i metodi che consentono a CallClient di <xref:%40azure%2Fcommunication-calling%23CallClient> di essere usati in modo con stato. L'interfaccia fornisce l'accesso allo stato proxy 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 API di <xref:%40azure%2Fcommunication-calling%23DeviceManager>.
  • Dati restituiti dalle API di <xref:%40azure%2Fcommunication-calling%23CallAgent>.
  • Listener collegati automaticamente a vari oggetti di chiamata alle comunicazioni di Azure:
    • CallAgent 'incomingCall'
    • CallAgent 'callsUpdated'
    • Gestione dispositivi 'videoDevicesUpdated'
    • DeviceManager 'audioDevicesUpdated
    • Gestione dispositivi 'selectedMicrophoneChanged'
    • Gestione dispositivi 'selectedSpeakerChanged'
    • Chiamare 'stateChanged'
    • Chiama 'idChanged'
    • Chiamare 'isMutedChanged'
    • Chiamare 'isScreenSharingOnChanged'
    • Chiamare 'remoteParticipantsUpdated'
    • Chiama 'localVideoStreamsUpdated'
    • IncomingCall 'callEnded'
    • RemoteParticipant 'stateChanged'
    • RemoteParticipant 'isMutedChanged'
    • RemoteParticipant 'displayNameChanged'
    • RemoteParticipant 'isSpeakingChanged'
    • RemoteParticipant 'videoStreamsUpdated'
    • RemoteVideoStream 'isAvailableChanged'
    • TranscriptionCallFeature 'isTranscriptionActiveChanged'
    • RecordingCallFeature 'isRecordingActiveChanged'
    • LocalRecordingCallFeature 'isLocalRecordingActiveChanged'
    • RaiseHandCallFeature 'raiisedHandEvent'
    • RaiseHandCallFeature 'loweredHandEvent'
    • PPTLiveCallFeature 'isAciveChanged'
    • ReactionCallFeature 'reazione'
Extends

Metodi

createCallAgent([tokenCredential, options])

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

  • CallClient può avere una sola istanza di CallAgent attiva alla volta.
  • È possibile creare una nuova istanza CallClient per creare un nuovo CallAgent.
  • È possibile eliminare l'agente CallAgent attivo corrente di un CallClient e chiamare di nuovo il metodo createCallAgent() di CallClient per creare un nuovo CallAgent.
createTeamsCallAgent([tokenCredential, options])

TeamsCallAgent viene utilizzato per gestire le chiamate. Per creare TeamsCallAgent, passare un oggetto CommunicationTokenCredential fornito dall'SDK.

  • CallClient può avere una sola istanza di TeamsCallAgent attiva alla volta.
  • È possibile creare una nuova istanza di CallClient per creare un nuovo Oggetto TeamsCallAgent.
  • È possibile eliminare l'agente TeamsCallAgent attivo corrente di un CallClient e chiamare di nuovo il metodo createTeamsCallAgent() di CallClient per creare un nuovo TeamsCallAgent.
createView(undefined | string, undefined | CommunicationIdentifier, CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState, CreateViewOptions)

Esegue il rendering di un RemoteVideoStreamState o LocalVideoStreamState e archivia i VideoStreamRendererViewState pertinenti nel RemoteVideoStreamState o LocalVideoStreamState o come visualizzazione nonparente nello stato. Sotto le quinte chiama <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenario 1: Rendering remoteVideoStreamState

  • CallId è obbligatorio, participantId è obbligatorio e il flusso di tipo RemoteVideoStreamState è obbligatorio
  • La risultante VideoStreamRendererViewState viene archiviata nel callId e nell'ID partecipante specificato in CallClientState

Scenario 2: Render LocalVideoStreamState per una chiamata

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

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

  • La VideoStreamRendererViewState risultante viene archiviata nell'callId localVideoStreams in CallClientState.

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

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

  • La risultante VideoStreamRendererViewState viene archiviata in nel valore LocalVideoStreamState specificato in <xref:CallClientState.deviceManager.unparentedViews>

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

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

È importante eliminareView per pulire correttamente le risorse.

Scenario 1: Eliminazione di RemoteVideoStreamState

  • CallId è obbligatorio, participantId è 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 tutto lo stato che è possibile eseguire tramite proxy da CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> come CallClientState CallClientState.

offStateChange((state: CallClientState) => void)

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

onStateChange((state: CallClientState) => void)

Consente la registrazione di un gestore per gli eventi 'stateChanged'.

Metodi ereditati

dispose()

Elimina questo CallClient che elimina anche la gestione dispositivi e l'agente di chiamata associati.

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 come fotocamere, microfoni e altoparlanti.

Dettagli metodo

createCallAgent([tokenCredential, options])

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

  • CallClient può avere una sola istanza di CallAgent attiva alla volta.
  • È possibile creare una nuova istanza CallClient per creare un nuovo CallAgent.
  • È possibile eliminare l'agente CallAgent attivo corrente di un CallClient e chiamare di nuovo il metodo createCallAgent() di CallClient per creare un nuovo CallAgent.
function createCallAgent(args: [tokenCredential, options]): Promise<DeclarativeCallAgent>

Parametri

args

[tokenCredential, options]

Restituisce

createTeamsCallAgent([tokenCredential, options])

TeamsCallAgent viene utilizzato per gestire le chiamate. Per creare TeamsCallAgent, passare un oggetto CommunicationTokenCredential fornito dall'SDK.

  • CallClient può avere una sola istanza di TeamsCallAgent attiva alla volta.
  • È possibile creare una nuova istanza di CallClient per creare un nuovo Oggetto TeamsCallAgent.
  • È possibile eliminare l'agente TeamsCallAgent attivo corrente di un CallClient e chiamare di nuovo il metodo createTeamsCallAgent() di CallClient per creare un nuovo TeamsCallAgent.
function createTeamsCallAgent(args: [tokenCredential, options]): Promise<DeclarativeTeamsCallAgent>

Parametri

args

[tokenCredential, options]

Restituisce

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

Esegue il rendering di un RemoteVideoStreamState o LocalVideoStreamState e archivia i VideoStreamRendererViewState pertinenti nel RemoteVideoStreamState o LocalVideoStreamState o come visualizzazione nonparente nello stato. Sotto le quinte chiama <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenario 1: Rendering remoteVideoStreamState

  • CallId è obbligatorio, participantId è obbligatorio e il flusso di tipo RemoteVideoStreamState è obbligatorio
  • La risultante VideoStreamRendererViewState viene archiviata nel callId e nell'ID partecipante specificato in CallClientState

Scenario 2: Render LocalVideoStreamState per una chiamata

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

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

  • La VideoStreamRendererViewState risultante viene archiviata nell'callId localVideoStreams in CallClientState.

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

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

  • La risultante VideoStreamRendererViewState viene archiviata in nel valore LocalVideoStreamState specificato in <xref:CallClientState.deviceManager.unparentedViews>

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

Parametri

callId

undefined | string

CallId per il flusso specificato. Può essere indefinito 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 viene eseguito il rendering di LocalVideoStreamState.

stream

CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState

LocalVideoStreamState o RemoteVideoStreamState per avviare il rendering.

options
CreateViewOptions

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

Restituisce

Promise<undefined | CreateViewResult>

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

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

È importante eliminareView per pulire correttamente le risorse.

Scenario 1: Eliminazione di RemoteVideoStreamState

  • CallId è obbligatorio, participantId è 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: CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState)

Parametri

callId

undefined | string

CallId per il flusso specificato. Può essere indefinito 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

CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState

LocalVideoStreamState o RemoteVideoStreamState da eliminare.

getState()

Contiene tutto lo stato che è possibile eseguire tramite proxy da CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> come CallClientState 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 la registrazione di un gestore per gli eventi 'stateChanged'.

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

Parametri

handler

(state: CallClientState) => void

Callback per ricevere lo stato.

Dettagli dei metodi ereditati

dispose()

Elimina questo CallClient che elimina anche la gestione dispositivi e l'agente di chiamata associati.

function dispose(): Promise<void>

Restituisce

Promise<void>

ereditato da CallClient.dispose

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 come fotocamere, microfoni e altoparlanti.

function getDeviceManager(): Promise<DeviceManager>

Restituisce

Promise<DeviceManager>

Ereditato da CallClient.getDeviceManager