Partager via


StatefulCallClient interface

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

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

  • Données retournées à partir de <xref:%40azure%2Fcommunication-calling%23DeviceManager> API.
  • Données retournées à partir de <xref:%40azure%2Fcommunication-calling%23CallAgent> API.
  • Les écouteurs sont 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'
    • Appelez « 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)

Affiche un RemoteVideoStreamState ou LocalVideoStreamState et stocke les VideoStreamRendererViewState résultantes sous la RemoteVideoStreamState ou LocalVideoStreamState ou en tant qu’affichage nonparé dans l’état. Sous le capot appelle <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scénario 1 : Render RemoteVideoStreamState

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

Scénario 2 : Render LocalVideoStreamState pour un appel

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

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

  • La VideoStreamRendererViewState résultante est stockée dans le callId localVideoStreams 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 doit être non défini et le flux de type LocalVideoStreamState est requis.

  • La VideoStreamRendererViewState résultante est stockée sous localVideoStreamState dans <xref:CallClientState.deviceManager.unparentedViews>

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

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

Il est important de disposerView pour nettoyer correctement les ressources.

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 ne faisant pas partie d’un appel

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

  • LocalVideoStreamState doit être l’original passé à createView.

getState()

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

offStateChange((state: CallClientState) => void)

Autorise l’annulation de l’inscription pour les é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 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 une instance CallClient pour créer un CallAgent.
  • Vous pouvez supprimer l’appel actif d’un CallAgent d’un CallClient et appeler à nouveau la méthode createCallAgent() de CallClient pour créer un CallAgent.
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

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

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

Récupère un objet Feature initialisé et mémorisé avec l’API étendue. Vérifiez les fonctionnalités de l’objet Features.* pour toutes les fonctionnalités du client 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)

Affiche un RemoteVideoStreamState ou LocalVideoStreamState et stocke les VideoStreamRendererViewState résultantes sous la RemoteVideoStreamState ou LocalVideoStreamState ou en tant qu’affichage nonparé dans l’état. Sous le capot appelle <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scénario 1 : Render RemoteVideoStreamState

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

Scénario 2 : Render LocalVideoStreamState pour un appel

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

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

  • La VideoStreamRendererViewState résultante est stockée dans le callId localVideoStreams 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 doit être non défini et le flux de type LocalVideoStreamState est requis.

  • La VideoStreamRendererViewState résultante est stockée sous localVideoStreamState 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 défini si le flux ne fait pas partie d’un appel.

participantId

undefined | CommunicationIdentifier

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

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState ou RemoteVideoStreamState pour démarrer le rendu.

options
CreateViewOptions

Options transmises 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 LocalVideoStreamState et supprime les <xref:VideoStreamRendererView> des RemoteVideoStreamState dans CallClientState ou <xref:LocalVideoStream> dans CallClientState ou <xref:CallClientState.deviceManager.unparentedViews> sous le capot appelle <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Il est important de disposerView pour nettoyer correctement les ressources.

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 ne faisant pas partie d’un appel

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

  • LocalVideoStreamState doit être l’original 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 défini si le flux ne fait pas partie d’un appel.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> associée au RemoteVideoStreamState donné. Peut ne pas être défini si localVideoStreamState est supprimé.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState ou RemoteVideoStreamState à supprimer.

getState()

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

function getState(): CallClientState

Retours

offStateChange((state: CallClientState) => void)

Autorise l’annulation de l’inscription pour les événements « stateChanged ».

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

Paramètres

handler

(state: CallClientState) => void

Rappel d’origine à annuler.

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 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 une instance CallClient pour créer un CallAgent.
  • Vous pouvez supprimer l’appel actif d’un CallAgent d’un CallClient et appeler à nouveau la méthode createCallAgent() de CallClient pour créer un 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 des options supplémentaires telles que le nom d’affichage.

Retours

Promise<CallAgent>

héritée de CallClient.createCallAgent

createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

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

  • CallClient ne peut avoir qu’une seule instance TeamsCallAgent active à la fois.
  • Vous pouvez créer une instance CallClient pour créer une instance TeamsCallAgent.
  • Vous pouvez supprimer à nouveau la méthode active TeamsCallAgent d’un CallClient et appeler à nouveau la méthode createTeamsCallAgent() de CallClient pour créer un nouvel objet 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 des options supplémentaires telles que le nom d’affichage.

Retours

Promise<TeamsCallAgent>

héritée de CallClient.createTeamsCallAgent

feature<TFeature>(CallClientFeatureFactory<TFeature>)

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

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

Paramètres

factory

CallClientFeatureFactory<TFeature>

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

Retours

TFeature

héritée 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ée de CallClient.getDeviceManager