Freigeben über


StatefulCallClient interface

Definiert die Methoden, mit denen CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> zustandsbehaftet verwendet werden kann. Die Schnittstelle ermöglicht den Zugriff auf den Proxied-Zustand und ermöglicht auch die Registrierung eines Handlers für Zustandsänderungsereignisse. Eine Zustandsdefinition finden Sie unter CallClientState.

Zustandsänderungsereignisse werden durch folgendes gesteuert:

  • Zurückgegebene Daten von <xref:%40azure%2Fcommunication-calling%23DeviceManager> APIs.
  • Zurückgegebene Daten von <xref:%40azure%2Fcommunication-calling%23CallAgent> APIs.
  • Listener, die automatisch an verschiedene Azure-Kommunikationsaufrufobjekte angefügt werden:
    • CallAgent 'incomingCall'
    • CallAgent "callsUpdated"
    • DeviceManager "videoDevicesUpdated"
    • DeviceManager 'audioDevicesUpdated
    • DeviceManager 'selectedMicrophoneChanged'
    • DeviceManager 'selectedSpeakerChanged'
    • Rufen Sie "stateChanged" auf.
    • Aufrufen von "idChanged"
    • Aufrufen von "isMutedChanged"
    • Aufrufen von "isScreenSharingOnChanged"
    • Aufrufen von "remoteParticipantsUpdated"
    • Aufrufen von "localVideoStreamsUpdated"
    • IncomingCall "callEnded"
    • RemoteParticipant "stateChanged"
    • RemoteParticipant 'isMutedChanged'
    • RemoteParticipant "displayNameChanged"
    • RemoteParticipant 'isSpeakingChanged'
    • RemoteParticipant "videoStreamsUpdated"
    • RemoteVideoStream "isAvailableChanged"
    • TranskriptionCallFeature 'isTranscriptionActiveChanged'
    • RecordingCallFeature 'isRecordingActiveChanged'
Extends

Methoden

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

Rendert remoteVideoStreamState oder LocalVideoStreamState und speichert den resultierenden VideoStreamRendererViewState unter dem relevanten RemoteVideoStreamState oder LocalVideoStreamState oder als nicht analysierte Ansicht im Zustand. Ruft unter der Haube auf <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Szenario 1: Rendern von RemoteVideoStreamState

  • CallId ist erforderlich, participantId ist erforderlich, und der Stream vom Typ RemoteVideoStreamState ist erforderlich.
  • Das resultierende VideoStreamRendererViewState wird in der angegebenen callId und participantId in CallClientState gespeichert.

Szenario 2: Rendern von LocalVideoStreamState für einen Anruf

  • CallId ist erforderlich, participantId muss undefined sein, und Stream vom Typ LocalVideoStreamState ist erforderlich.

  • Die <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> muss bereits mit <xref:%40azure%2Fcommunication-calling%23Call.startVideo>gestartet werden.

  • Das resultierende VideoStreamRendererViewState wird in der angegebenen callId localVideoStreams in CallClientState gespeichert.

  • Szenario 2: Rendern von LocalVideoStreamState nicht Teil eines Aufrufs (Beispiel für die Renderingkamera für die lokale Vorschau)

  • CallId muss undefined sein, participantId muss undefined sein, und der Stream vom Typ LocalVideoStreamState ist erforderlich.

  • Das resultierende VideoStreamRendererViewState wird unter dem angegebenen LocalVideoStreamState in gespeichert. <xref:CallClientState.deviceManager.unparentedViews>

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

Beendet das Rendern eines RemoteVideoStreamState - oder LocalVideoStreamState-Objekts und entfernt das <xref:VideoStreamRendererView> aus dem relevanten RemoteVideoStreamState in CallClientState oder <xref:LocalVideoStream> in CallClientState oder entsprechende <xref:CallClientState.deviceManager.unparentedViews> Unter der Haube aufruft <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Es ist wichtig, dass Sie Überblick verfügen, um Ressourcen ordnungsgemäß zu sauber.

Szenario 1: Entsorgen von RemoteVideoStreamState

  • CallId ist erforderlich, participantId ist erforderlich, und der Stream vom Typ RemoteVideoStreamState ist erforderlich.

Szenario 2: Verwerfen von LocalVideoStreamState für einen Anruf

  • CallId ist erforderlich, participantId muss undefined sein, und Stream vom Typ LocalVideoStreamState ist erforderlich.

  • Szenario 2: Entsorgen von LocalVideoStreamState nicht Teil eines Aufrufs

  • CallId muss undefined sein, participantId muss undefined sein, und der Stream vom Typ LocalVideoStreamState ist erforderlich.

  • LocalVideoStreamState muss das ursprüngliche Element sein, das an createView übergeben wurde.

getState()

Enthält den gesamten Zustand, den wir von CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> als CallClientState CallClientState proxyn könnten.

offStateChange((state: CallClientState) => void)

Ermöglicht das Aufheben der Registrierung für "stateChanged"-Ereignisse.

onStateChange((state: CallClientState) => void)

Ermöglicht es einem Handler, für "stateChanged"-Ereignisse registriert zu werden.

Geerbte Methoden

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

Der CallAgent wird verwendet, um Anrufe zu verarbeiten. Um den CallAgent zu erstellen, übergeben Sie ein CommunicationTokenCredential-Objekt, das aus dem SDK bereitgestellt wird.

  • Der CallClient kann jeweils nur über einen aktiven CallAgent-instance verfügen.
  • Sie können eine neue CallClient-instance erstellen, um einen neuen CallAgent zu erstellen.
  • Sie können den aktuell aktiven CallAgent eines CallClients entfernen und die createCallAgent()-Methode des CallClient erneut aufrufen, um einen neuen CallAgent zu erstellen.
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

Der TeamsCallAgent wird verwendet, um Teams-Aufrufe zu verarbeiten. Um den TeamsCallAgent zu erstellen, übergeben Sie ein CommunicationTokenCredential-Objekt, das aus dem SDK bereitgestellt wird.

  • Der CallClient kann jeweils nur über eine aktive TeamsCallAgent-instance verfügen.
  • Sie können eine neue CallClient-instance erstellen, um einen neuen TeamsCallAgent zu erstellen.
  • Sie können die aktuell aktive TeamsCallAgent-Methode eines CallClients verwerfen und die CreateTeamsCallAgent()-Methode des CallClient erneut aufrufen, um einen neuen TeamsCallAgent zu erstellen.
feature<TFeature>(CallClientFeatureFactory<TFeature>)

Ruft ein initialisiertes und gespeichertes Featureobjekt mit erweiterter API ab. Überprüfen Sie das Objekt Features.* auf alle verfügbaren Clientfeatures für erweiterte Aufrufe in diesem Paket.

getDeviceManager()

Der DeviceManager wird verwendet, um Mediengeräte wie Kameras, Mikrofone und Lautsprecher zu verarbeiten.

Details zur Methode

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

Rendert remoteVideoStreamState oder LocalVideoStreamState und speichert den resultierenden VideoStreamRendererViewState unter dem relevanten RemoteVideoStreamState oder LocalVideoStreamState oder als nicht analysierte Ansicht im Zustand. Ruft unter der Haube auf <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Szenario 1: Rendern von RemoteVideoStreamState

  • CallId ist erforderlich, participantId ist erforderlich, und der Stream vom Typ RemoteVideoStreamState ist erforderlich.
  • Das resultierende VideoStreamRendererViewState wird in der angegebenen callId und participantId in CallClientState gespeichert.

Szenario 2: Rendern von LocalVideoStreamState für einen Anruf

  • CallId ist erforderlich, participantId muss undefined sein, und Stream vom Typ LocalVideoStreamState ist erforderlich.

  • Die <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> muss bereits mit <xref:%40azure%2Fcommunication-calling%23Call.startVideo>gestartet werden.

  • Das resultierende VideoStreamRendererViewState wird in der angegebenen callId localVideoStreams in CallClientState gespeichert.

  • Szenario 2: Rendern von LocalVideoStreamState nicht Teil eines Aufrufs (Beispiel für die Renderingkamera für die lokale Vorschau)

  • CallId muss undefined sein, participantId muss undefined sein, und der Stream vom Typ LocalVideoStreamState ist erforderlich.

  • Das resultierende VideoStreamRendererViewState wird unter dem angegebenen LocalVideoStreamState in gespeichert. <xref:CallClientState.deviceManager.unparentedViews>

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

Parameter

callId

undefined | string

CallId für den angegebenen Stream. Kann undefiniert werden, wenn der Stream nicht Teil eines Aufrufs ist.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> zugeordnet mit dem angegebenen RemoteVideoStreamState. Kann nicht definiert sein, wenn LocalVideoStreamState gerendert wird.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState oder RemoteVideoStreamState, um mit dem Rendering zu beginnen.

options
CreateViewOptions

Optionen, die an übergeben <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer>werden.

Gibt zurück

Promise<undefined | CreateViewResult>

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

Beendet das Rendern eines RemoteVideoStreamState - oder LocalVideoStreamState-Objekts und entfernt das <xref:VideoStreamRendererView> aus dem relevanten RemoteVideoStreamState in CallClientState oder <xref:LocalVideoStream> in CallClientState oder entsprechende <xref:CallClientState.deviceManager.unparentedViews> Unter der Haube aufruft <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Es ist wichtig, dass Sie Überblick verfügen, um Ressourcen ordnungsgemäß zu sauber.

Szenario 1: Entsorgen von RemoteVideoStreamState

  • CallId ist erforderlich, participantId ist erforderlich, und der Stream vom Typ RemoteVideoStreamState ist erforderlich.

Szenario 2: Verwerfen von LocalVideoStreamState für einen Anruf

  • CallId ist erforderlich, participantId muss undefined sein, und Stream vom Typ LocalVideoStreamState ist erforderlich.

  • Szenario 2: Entsorgen von LocalVideoStreamState nicht Teil eines Aufrufs

  • CallId muss undefined sein, participantId muss undefined sein, und der Stream vom Typ LocalVideoStreamState ist erforderlich.

  • LocalVideoStreamState muss das ursprüngliche Element sein, das an createView übergeben wurde.

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

Parameter

callId

undefined | string

CallId für den angegebenen Stream. Kann undefiniert werden, wenn der Stream nicht Teil eines Aufrufs ist.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> zugeordnet mit dem angegebenen RemoteVideoStreamState. Kann nicht definiert werden, wenn LocalVideoStreamState entsorgt wird.

stream

LocalVideoStreamState | RemoteVideoStreamState

Der zu verwerfende LocalVideoStreamState- oder RemoteVideoStreamState-Wert.

getState()

Enthält den gesamten Zustand, den wir von CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> als CallClientState CallClientState proxyn könnten.

function getState(): CallClientState

Gibt zurück

offStateChange((state: CallClientState) => void)

Ermöglicht das Aufheben der Registrierung für "stateChanged"-Ereignisse.

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

Parameter

handler

(state: CallClientState) => void

Ursprünglicher Rückruf, der abbestellt werden soll.

onStateChange((state: CallClientState) => void)

Ermöglicht es einem Handler, für "stateChanged"-Ereignisse registriert zu werden.

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

Parameter

handler

(state: CallClientState) => void

Rückruf, um den Zustand zu erhalten.

Details zur geerbten Methode

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

Der CallAgent wird verwendet, um Anrufe zu verarbeiten. Um den CallAgent zu erstellen, übergeben Sie ein CommunicationTokenCredential-Objekt, das aus dem SDK bereitgestellt wird.

  • Der CallClient kann jeweils nur über einen aktiven CallAgent-instance verfügen.
  • Sie können eine neue CallClient-instance erstellen, um einen neuen CallAgent zu erstellen.
  • Sie können den aktuell aktiven CallAgent eines CallClients entfernen und die createCallAgent()-Methode des CallClient erneut aufrufen, um einen neuen CallAgent zu erstellen.
function createCallAgent(tokenCredential: CommunicationTokenCredential, options?: CallAgentOptions): Promise<CallAgent>

Parameter

tokenCredential
CommunicationTokenCredential

Die Tokenanmeldeinformationen. Verwenden Sie AzureCommunicationTokenCredential aus @azure/communication-common , um Anmeldeinformationen zu erstellen.

options
CallAgentOptions

CallAgentOptions für zusätzliche Optionen wie Anzeigename.

Gibt zurück

Promise<CallAgent>

Geerbt von CallClient.createCallAgent

createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

Der TeamsCallAgent wird verwendet, um Teams-Aufrufe zu verarbeiten. Um den TeamsCallAgent zu erstellen, übergeben Sie ein CommunicationTokenCredential-Objekt, das aus dem SDK bereitgestellt wird.

  • Der CallClient kann jeweils nur über eine aktive TeamsCallAgent-instance verfügen.
  • Sie können eine neue CallClient-instance erstellen, um einen neuen TeamsCallAgent zu erstellen.
  • Sie können die aktuell aktive TeamsCallAgent-Methode eines CallClients verwerfen und die CreateTeamsCallAgent()-Methode des CallClient erneut aufrufen, um einen neuen TeamsCallAgent zu erstellen.
function createTeamsCallAgent(tokenCredential: CommunicationTokenCredential, options?: TeamsCallAgentOptions): Promise<TeamsCallAgent>

Parameter

tokenCredential
CommunicationTokenCredential

Die Tokenanmeldeinformationen. Verwenden Sie AzureCommunicationTokenCredential aus @azure/communication-common , um Anmeldeinformationen zu erstellen.

options
TeamsCallAgentOptions

CallAgentOptions für zusätzliche Optionen wie Anzeigename.

Gibt zurück

Promise<TeamsCallAgent>

Geerbt von CallClient.createTeamsCallAgent

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Ruft ein initialisiertes und gespeichertes Featureobjekt mit erweiterter API ab. Überprüfen Sie das Objekt Features.* auf alle verfügbaren Clientfeatures für erweiterte Aufrufe in diesem Paket.

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

Parameter

factory

CallClientFeatureFactory<TFeature>

Die Factory für den Aufrufclientfeaturekonstruktor, der eine erweiterte API bereitstellt.

Gibt zurück

TFeature

Geerbt von CallClient.feature

getDeviceManager()

Der DeviceManager wird verwendet, um Mediengeräte wie Kameras, Mikrofone und Lautsprecher zu verarbeiten.

function getDeviceManager(): Promise<DeviceManager>

Gibt zurück

Promise<DeviceManager>

Geerbt von CallClient.getDeviceManager