Freigeben über


StatefulCallClient interface

Definiert die Methoden, mit denen CallClient-<xref:%40azure%2Fcommunication-calling%23CallClient> zustandsmäßig verwendet werden können. Die Schnittstelle bietet Zugriff auf den proxiierten Zustand und ermöglicht auch das Registrieren eines Handlers für Zustandsänderungsereignisse. Eine Statusdefinition finden Sie unter CallClientState.

Zustandsänderungsereignisse werden von:

  • Zurückgegebene Daten von <xref:%40azure%2Fcommunication-calling%23DeviceManager>-APIs.
  • Zurückgegebene Daten von <xref:%40azure%2Fcommunication-calling%23CallAgent>-APIs.
  • Listener werden automatisch an verschiedene Azure-Kommunikationsanrufobjekte angefügt:
    • CallAgent 'incomingCall'
    • CallAgent 'callsUpdated'
    • DeviceManager 'videoDevicesUpdated'
    • DeviceManager 'audioDevicesUpdated
    • DeviceManager 'selectedMicrophoneChanged'
    • DeviceManager 'selectedSpeakerChanged'
    • Aufrufen von "stateChanged"
    • 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'
    • TranscriptionCallFeature 'isTranscriptionActiveChanged'
    • RecordingCallFeature 'isRecordingActiveChanged'
Extends

Methoden

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

Rendert eine RemoteVideoStreamState oder LocalVideoStreamState und speichert die resultierende VideoStreamRendererViewState- unter dem relevanten RemoteVideoStreamState oder LocalVideoStreamState oder als nicht analysierte Ansicht im Zustand. Unter der Haube ruft <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Szenario 1: Rendern von RemoteVideoStreamState

  • CallId ist erforderlich, participantId ist erforderlich, und der Datenstrom vom Typ "RemoteVideoStreamState" ist erforderlich.
  • Die resultierende VideoStreamRendererViewState- wird in der angegebenen callId und participantId in CallClientState-

Szenario 2: Rendern von LocalVideoStreamState für einen Anruf

  • CallId ist erforderlich, participantId muss undefiniert sein, und der Datenstrom vom Typ "LocalVideoStreamState" ist erforderlich.

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

  • Die resultierende VideoStreamRendererViewState- wird in der angegebenen callId localVideoStreams in CallClientStategespeichert.

  • Szenario 2: Rendern von LocalVideoStreamState nicht Teil eines Anrufs (z. B. Renderkamera für lokale Vorschau)

  • CallId muss nicht definiert sein, participantId muss undefiniert sein, und der Stream vom Typ "LocalVideoStreamState" ist erforderlich.

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

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

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

Es ist wichtig, disposeView zu löschen, um Ressourcen ordnungsgemäß zu bereinigen.

Szenario 1: Dispose RemoteVideoStreamState

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

Szenario 2: Dispose LocalVideoStreamState für einen Anruf

  • CallId ist erforderlich, participantId muss undefiniert sein, und der Datenstrom vom Typ "LocalVideoStreamState" ist erforderlich.

  • Szenario 2: Dispose LocalVideoStreamState nicht Teil eines Anrufs

  • CallId muss nicht definiert sein, participantId muss undefiniert sein, und der Stream vom Typ "LocalVideoStreamState" ist erforderlich.

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

getState()

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

offStateChange((state: CallClientState) => void)

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

onStateChange((state: CallClientState) => void)

Ermöglicht die Registrierung eines Handlers für "stateChanged"-Ereignisse.

Geerbte Methoden

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

Der CallAgent wird zum Verarbeiten von Aufrufen verwendet. Um den CallAgent zu erstellen, übergeben Sie ein CommunicationTokenCredential-Objekt, das aus dem SDK bereitgestellt wird.

  • Der CallClient kann jeweils nur eine aktive CallAgent-Instanz haben.
  • Sie können eine neue CallClient-Instanz erstellen, um einen neuen CallAgent zu erstellen.
  • Sie können den aktuellen aktiven CallAgent eines CallClients löschen und die createCallAgent()-Methode des CallClients erneut aufrufen, um einen neuen CallAgent zu erstellen.
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

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

  • Der CallClient kann jeweils nur eine aktive TeamsCallAgent-Instanz haben.
  • Sie können eine neue CallClient-Instanz erstellen, um einen neuen TeamsCallAgent zu erstellen.
  • Sie können den aktuellen aktiven TeamsCallAgent eines CallClient löschen und die createTeamsCallAgent()-Methode des CallClient erneut aufrufen, um einen neuen TeamsCallAgent zu erstellen.
feature<TFeature>(CallClientFeatureFactory<TFeature>)

Ruft ein initialisiertes und memoisiertes Featureobjekt mit erweiterter API ab. Überprüfen Sie die Objektfeatures.* auf alle verfügbaren Features des erweiterten Anrufclients 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 eine RemoteVideoStreamState oder LocalVideoStreamState und speichert die resultierende VideoStreamRendererViewState- unter dem relevanten RemoteVideoStreamState oder LocalVideoStreamState oder als nicht analysierte Ansicht im Zustand. Unter der Haube ruft <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Szenario 1: Rendern von RemoteVideoStreamState

  • CallId ist erforderlich, participantId ist erforderlich, und der Datenstrom vom Typ "RemoteVideoStreamState" ist erforderlich.
  • Die resultierende VideoStreamRendererViewState- wird in der angegebenen callId und participantId in CallClientState-

Szenario 2: Rendern von LocalVideoStreamState für einen Anruf

  • CallId ist erforderlich, participantId muss undefiniert sein, und der Datenstrom vom Typ "LocalVideoStreamState" ist erforderlich.

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

  • Die resultierende VideoStreamRendererViewState- wird in der angegebenen callId localVideoStreams in CallClientStategespeichert.

  • Szenario 2: Rendern von LocalVideoStreamState nicht Teil eines Anrufs (z. B. Renderkamera für lokale Vorschau)

  • CallId muss nicht definiert sein, participantId muss undefiniert sein, und der Stream vom Typ "LocalVideoStreamState" ist erforderlich.

  • Die resultierende VideoStreamRendererViewState- wird unter dem angegebenen LocalVideoStreamState in <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 Datenstrom. Kann nicht definiert werden, wenn der Datenstrom nicht Teil eines Anrufs ist.

participantId

undefined | CommunicationIdentifier

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

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState oder RemoteVideoStreamState zum Starten des Renderings.

options
CreateViewOptions

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

Gibt zurück

Promise<undefined | CreateViewResult>

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

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

Es ist wichtig, disposeView zu löschen, um Ressourcen ordnungsgemäß zu bereinigen.

Szenario 1: Dispose RemoteVideoStreamState

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

Szenario 2: Dispose LocalVideoStreamState für einen Anruf

  • CallId ist erforderlich, participantId muss undefiniert sein, und der Datenstrom vom Typ "LocalVideoStreamState" ist erforderlich.

  • Szenario 2: Dispose LocalVideoStreamState nicht Teil eines Anrufs

  • CallId muss nicht definiert sein, participantId muss undefiniert sein, und der Stream vom Typ "LocalVideoStreamState" ist erforderlich.

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

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

Parameter

callId

undefined | string

CallId für den angegebenen Datenstrom. Kann nicht definiert werden, wenn der Datenstrom nicht Teil eines Anrufs ist.

participantId

undefined | CommunicationIdentifier

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

stream

LocalVideoStreamState | RemoteVideoStreamState

Der localVideoStreamState- oder RemoteVideoStreamState-Wert, der verworfen werden soll.

getState()

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

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 die Registrierung eines Handlers für "stateChanged"-Ereignisse.

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

Parameter

handler

(state: CallClientState) => void

Rückruf zum Empfangen des Status.

Details zur geerbten Methode

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

Der CallAgent wird zum Verarbeiten von Aufrufen verwendet. Um den CallAgent zu erstellen, übergeben Sie ein CommunicationTokenCredential-Objekt, das aus dem SDK bereitgestellt wird.

  • Der CallClient kann jeweils nur eine aktive CallAgent-Instanz haben.
  • Sie können eine neue CallClient-Instanz erstellen, um einen neuen CallAgent zu erstellen.
  • Sie können den aktuellen aktiven CallAgent eines CallClients löschen und die createCallAgent()-Methode des CallClients 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-Anrufe zu verarbeiten. Um den TeamsCallAgent zu erstellen, übergeben Sie ein CommunicationTokenCredential-Objekt, das aus dem SDK bereitgestellt wird.

  • Der CallClient kann jeweils nur eine aktive TeamsCallAgent-Instanz haben.
  • Sie können eine neue CallClient-Instanz erstellen, um einen neuen TeamsCallAgent zu erstellen.
  • Sie können den aktuellen aktiven TeamsCallAgent eines CallClient löschen 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 memoisiertes Featureobjekt mit erweiterter API ab. Überprüfen Sie die Objektfeatures.* auf alle verfügbaren Features des erweiterten Anrufclients 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