Partager via


StatefulCallClient interface

Définit les méthodes qui permettent d’utiliser CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> avec état. L’interface fournit l’accès à l’état proxié et permet également d’inscrire un gestionnaire pour les événements de changement d’état. Pour la définition d’état , consultez CallClientState.

Les événements de changement d’état sont pilotés par :

  • Données retournées à partir <xref:%40azure%2Fcommunication-calling%23DeviceManager> d’API.
  • Données retournées à partir <xref:%40azure%2Fcommunication-calling%23CallAgent> d’API.
  • Écouteurs automatiquement attachés à différents objets d’appel de communication Azure :
    • CallAgent 'incomingCall'
    • CallAgent 'callsUpdated'
    • DeviceManager 'videoDevicesUpdated'
    • DeviceManager 'audioDevicesUpdated
    • DeviceManager 'selectedMicrophoneChanged'
    • DeviceManager 'selectedSpeakerChanged'
    • Appeler 'stateChanged'
    • Appeler 'idChanged'
    • Appeler 'isMutedChanged'
    • Appelez 'isScreenSharingOnChanged'
    • Appeler 'remoteParticipantsUpdated'
    • Appelez 'localVideoStreamsUpdated'
    • IncomingCall 'callEnded'
    • RemoteParticipant 'stateChanged'
    • RemoteParticipant 'isMutedChanged'
    • RemoteParticipant 'displayNameChanged'
    • RemoteParticipant 'isSpeakingChanged'
    • RemoteParticipant 'videoStreamsUpdated'
    • RemoteVideoStream 'isAvailableChanged'
    • TranscriptionCallFeature 'isTranscriptionActiveChanged'
    • RecordingCallFeature 'isRecordingActiveChanged'
Extends

Méthodes

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

Restitue un RemoteVideoStreamState ou un LocalVideoStreamState et stocke le VideoStreamRendererViewState résultant sous l’état RemoteVideoStreamState ou LocalVideoStreamState approprié ou en tant qu’affichage non pris en charge dans l’état. Sous le capot appelle <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scénario 1 : Rendu remoteVideoStreamState

  • CallId est obligatoire, participantId est requis et le flux de type RemoteVideoStreamState est requis
  • VideoStreamRendererViewState résultant est stocké dans l’id d’appel et le participantId donnés dans CallClientState

Scénario 2 : Rendu LocalVideoStreamState pour un appel

  • CallId est obligatoire, participantId doit être non défini et le flux de type LocalVideoStreamState est requis.

  • Le <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> doit déjà être démarré à l’aide de <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • VideoStreamRendererViewState résultant est stocké dans le callId localVideoStreams donné dans CallClientState.

  • Scénario 2 : Render LocalVideoStreamState ne faisant pas partie d’un appel (exemple de caméra de rendu pour la préversion locale)

  • CallId doit être undefined, participantId ne doit pas être défini et le flux de type LocalVideoStreamState est requis.

  • VideoStreamRendererViewState résultant est stocké dans sous le localVideoStreamState donné dans<xref:CallClientState.deviceManager.unparentedViews>

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

Arrête le rendu d’un RemoteVideoStreamState ou d’un LocalVideoStreamState et supprime le <xref:VideoStreamRendererView> du RemoteVideoStreamState approprié dans CallClientState ou <xref:LocalVideoStream>dans CallClientState ou les appels <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>appropriés <xref:CallClientState.deviceManager.unparentedViews> sous le capot .

Il est important de disposerView pour propre les ressources correctement.

Scénario 1 : Supprimer RemoteVideoStreamState

  • CallId est obligatoire, participantId est requis et le flux de type RemoteVideoStreamState est requis

Scénario 2 : Supprimer LocalVideoStreamState pour un appel

  • CallId est obligatoire, participantId doit être non défini et le flux de type LocalVideoStreamState est requis.

  • Scénario 2 : Supprimer LocalVideoStreamState qui ne fait pas partie d’un appel

  • CallId doit être undefined, participantId ne doit pas être défini et le flux de type LocalVideoStreamState est requis.

  • LocalVideoStreamState doit être celui d’origine passé à createView.

getState()

Contient tout l’état que nous pourrions proxy de CallClient en <xref:%40azure%2Fcommunication-calling%23CallClient> tant que CallClientState CallClientState.

offStateChange((state: CallClientState) => void)

Autorise la désinscription des événements « stateChanged ».

onStateChange((state: CallClientState) => void)

Permet à un gestionnaire d’être inscrit pour les événements « stateChanged ».

Méthodes héritées

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent est utilisé pour gérer les appels. Pour créer le CallAgent, transmettez un objet CommunicationTokenCredential fourni à partir du Kit de développement logiciel (SDK).

  • CallClient ne peut avoir qu’une seule instance CallAgent active à la fois.
  • Vous pouvez créer un instance CallClient pour créer un CallAgent.
  • Vous pouvez supprimer le CallAgent actif actuel d’un CallClient et appeler à nouveau la méthode createCallAgent() de CallClient pour créer un nouvel CallAgent.
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

TeamsCallAgent est utilisé pour gérer les appels Teams. Pour créer TeamsCallAgent, transmettez un objet CommunicationTokenCredential fourni à partir du SDK.

  • CallClient ne peut avoir qu’une seule instance TeamsCallAgent active à la fois.
  • Vous pouvez créer un instance CallClient pour créer un TeamsCallAgent.
  • Vous pouvez supprimer l’actuel TeamsCallAgent actif d’un CallClient et appeler à nouveau la méthode createTeamsCallAgent() de CallClient pour créer un nouveau TeamsCallAgent.
feature<TFeature>(CallClientFeatureFactory<TFeature>)

Récupère un objet Feature initialisé et mémorisé avec une API étendue. Vérifiez l’objet Features.* pour toutes les fonctionnalités clientes d’appel étendu disponibles dans ce package.

getDeviceManager()

DeviceManager est utilisé pour gérer les périphériques multimédias tels que les caméras, les microphones et les haut-parleurs.

Détails de la méthode

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

Restitue un RemoteVideoStreamState ou un LocalVideoStreamState et stocke le VideoStreamRendererViewState résultant sous l’état RemoteVideoStreamState ou LocalVideoStreamState approprié ou en tant qu’affichage non pris en charge dans l’état. Sous le capot appelle <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scénario 1 : Rendu remoteVideoStreamState

  • CallId est obligatoire, participantId est requis et le flux de type RemoteVideoStreamState est requis
  • VideoStreamRendererViewState résultant est stocké dans l’id d’appel et le participantId donnés dans CallClientState

Scénario 2 : Rendu LocalVideoStreamState pour un appel

  • CallId est obligatoire, participantId doit être non défini et le flux de type LocalVideoStreamState est requis.

  • Le <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> doit déjà être démarré à l’aide de <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • VideoStreamRendererViewState résultant est stocké dans le callId localVideoStreams donné dans CallClientState.

  • Scénario 2 : Render LocalVideoStreamState ne faisant pas partie d’un appel (exemple de caméra de rendu pour la préversion locale)

  • CallId doit être undefined, participantId ne doit pas être défini et le flux de type LocalVideoStreamState est requis.

  • VideoStreamRendererViewState résultant est stocké dans sous le localVideoStreamState donné dans<xref:CallClientState.deviceManager.unparentedViews>

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

Paramètres

callId

undefined | string

CallId pour le flux donné. Peut être non défini si le flux ne fait partie d’aucun appel.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> associé au RemoteVideoStreamState donné. Peut être non défini si le rendu LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState ou RemoteVideoStreamState pour démarrer le rendu.

options
CreateViewOptions

Options passées au <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer>.

Retours

Promise<undefined | CreateViewResult>

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

Arrête le rendu d’un RemoteVideoStreamState ou d’un LocalVideoStreamState et supprime le <xref:VideoStreamRendererView> du RemoteVideoStreamState approprié dans CallClientState ou <xref:LocalVideoStream>dans CallClientState ou les appels <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>appropriés <xref:CallClientState.deviceManager.unparentedViews> sous le capot .

Il est important de disposerView pour propre les ressources correctement.

Scénario 1 : Supprimer RemoteVideoStreamState

  • CallId est obligatoire, participantId est requis et le flux de type RemoteVideoStreamState est requis

Scénario 2 : Supprimer LocalVideoStreamState pour un appel

  • CallId est obligatoire, participantId doit être non défini et le flux de type LocalVideoStreamState est requis.

  • Scénario 2 : Supprimer LocalVideoStreamState qui ne fait pas partie d’un appel

  • CallId doit être undefined, participantId ne doit pas être défini et le flux de type LocalVideoStreamState est requis.

  • LocalVideoStreamState doit être celui d’origine passé à createView.

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

Paramètres

callId

undefined | string

CallId pour le flux donné. Peut être non défini si le flux ne fait partie d’aucun appel.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> associé au RemoteVideoStreamState donné. Peut être non défini en cas de suppression de LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState ou RemoteVideoStreamState à supprimer.

getState()

Contient tout l’état que nous pourrions proxy de CallClient en <xref:%40azure%2Fcommunication-calling%23CallClient> tant que CallClientState CallClientState.

function getState(): CallClientState

Retours

offStateChange((state: CallClientState) => void)

Autorise la désinscription des événements « stateChanged ».

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

Paramètres

handler

(state: CallClientState) => void

Rappel d’origine à désinscrire.

onStateChange((state: CallClientState) => void)

Permet à un gestionnaire d’être inscrit pour les événements « stateChanged ».

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

Paramètres

handler

(state: CallClientState) => void

Rappel pour recevoir l’état.

Détails de la méthode héritée

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent est utilisé pour gérer les appels. Pour créer le CallAgent, transmettez un objet CommunicationTokenCredential fourni à partir du Kit de développement logiciel (SDK).

  • CallClient ne peut avoir qu’une seule instance CallAgent active à la fois.
  • Vous pouvez créer un instance CallClient pour créer un CallAgent.
  • Vous pouvez supprimer le CallAgent actif actuel d’un CallClient et appeler à nouveau la méthode createCallAgent() de CallClient pour créer un nouvel CallAgent.
function createCallAgent(tokenCredential: CommunicationTokenCredential, options?: CallAgentOptions): Promise<CallAgent>

Paramètres

tokenCredential
CommunicationTokenCredential

Informations d’identification du jeton. Utilisez AzureCommunicationTokenCredential à partir de @azure/communication-common pour créer des informations d’identification.

options
CallAgentOptions

CallAgentOptions pour les options supplémentaires telles que le nom d’affichage.

Retours

Promise<CallAgent>

Hérité de CallClient.createCallAgent

createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

TeamsCallAgent est utilisé pour gérer les appels Teams. Pour créer TeamsCallAgent, transmettez un objet CommunicationTokenCredential fourni à partir du SDK.

  • CallClient ne peut avoir qu’une seule instance TeamsCallAgent active à la fois.
  • Vous pouvez créer un instance CallClient pour créer un TeamsCallAgent.
  • Vous pouvez supprimer l’actuel TeamsCallAgent actif d’un CallClient et appeler à nouveau la méthode createTeamsCallAgent() de CallClient pour créer un nouveau TeamsCallAgent.
function createTeamsCallAgent(tokenCredential: CommunicationTokenCredential, options?: TeamsCallAgentOptions): Promise<TeamsCallAgent>

Paramètres

tokenCredential
CommunicationTokenCredential

Informations d’identification du jeton. Utilisez AzureCommunicationTokenCredential à partir de @azure/communication-common pour créer des informations d’identification.

options
TeamsCallAgentOptions

CallAgentOptions pour les options supplémentaires telles que le nom d’affichage.

Retours

Promise<TeamsCallAgent>

Hérité de CallClient.createTeamsCallAgent

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Récupère un objet Feature initialisé et mémorisé avec une API étendue. Vérifiez l’objet Features.* pour toutes les fonctionnalités clientes d’appel étendu disponibles dans ce package.

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

Paramètres

factory

CallClientFeatureFactory<TFeature>

Fabrique du constructeur de fonctionnalité client d’appel qui fournit une API étendue.

Retours

TFeature

Hérité de CallClient.feature

getDeviceManager()

DeviceManager est utilisé pour gérer les périphériques multimédias tels que les caméras, les microphones et les haut-parleurs.

function getDeviceManager(): Promise<DeviceManager>

Retours

Promise<DeviceManager>

Hérité de CallClient.getDeviceManager