Delen via


StatefulCallClient interface

Definieert de methoden waarmee CallClient-<xref:%40azure%2Fcommunication-calling%23CallClient> statefully kunnen worden gebruikt. De interface biedt toegang tot de geproxieerde status en maakt het registreren van een handler mogelijk voor statuswijzigingsgebeurtenissen. Zie CallClientStatevoor statusdefinities.

Statuswijzigingsevenementen worden aangestuurd door:

  • Geretourneerde gegevens van <xref:%40azure%2Fcommunication-calling%23DeviceManager> API's.
  • Geretourneerde gegevens van <xref:%40azure%2Fcommunication-calling%23CallAgent> API's.
  • Listeners worden automatisch gekoppeld aan verschillende azure communication-calling-objecten:
    • CallAgent 'inkomende oproep'
    • CallAgent 'callsUpdated'
    • DeviceManager 'videoDevicesUpdated'
    • DeviceManager 'audioDevicesUpdated
    • DeviceManager 'selectedMicrophoneChanged'
    • DeviceManager 'selectedSpeakerChanged'
    • 'stateChanged' aanroepen
    • IdChanged aanroepen
    • Aanroepen 'isMutedChanged'
    • Roep 'isScreenSharingOnChanged' aan
    • 'remoteParticipantsUpdated' aanroepen
    • 'localVideoStreamsUpdated' aanroepen
    • Inkomende oproep 'callEnded'
    • RemoteParticipant 'stateChanged'
    • RemoteParticipant 'isMutedChanged'
    • RemoteParticipant 'displayNameChanged'
    • RemoteParticipant 'isSpeakingChanged'
    • RemoteParticipant 'videoStreamsUpdated'
    • RemoteVideoStream 'isAvailableChanged'
    • TranscriptionCallFeature 'isTranscriptionActiveChanged'
    • RecordingCallFeature 'isRecordingActiveChanged'
    • LocalRecordingCallFeature 'isLocalRecordingActiveChanged'
    • RaiseHandCallFeature 'verhoogdeHandEvent'
    • RaiseHandCallFeature 'verlaagdeHandEvent'
    • PPTLiveCallFeature 'isAciveChanged'
    • ReactionCallFunctie: 'reactie'
Uitbreiding

Methoden

createCallAgent([tokenCredential, options])

De CallAgent wordt gebruikt om aanroepen te verwerken. Als u de CallAgent wilt maken, geeft u een CommunicationTokenCredential-object door dat is opgegeven vanuit de SDK.

  • De CallClient kan slechts één actief CallAgent-exemplaar tegelijk hebben.
  • U kunt een nieuw CallClient-exemplaar maken om een nieuwe CallAgent te maken.
  • U kunt de huidige actieve CallAgent van een CallClient verwijderen en de methode createCallAgent() van de CallClient opnieuw aanroepen om een nieuwe CallAgent te maken.
createTeamsCallAgent([tokenCredential, options])

De TeamsCallAgent wordt gebruikt om oproepen af te handelen. Als u TeamsCallAgent wilt maken, geeft u een CommunicationTokenCredential-object door dat is opgegeven vanuit de SDK.

  • De CallClient kan slechts één actief TeamsCallAgent-exemplaar tegelijk hebben.
  • U kunt een nieuw CallClient-exemplaar maken om een nieuwe TeamsCallAgent te maken.
  • U kunt de huidige actieve TeamsCallAgent van een CallClient verwijderen en de methode createTeamsCallAgent() van de CallClient opnieuw aanroepen om een nieuwe TeamsCallAgent te maken.
createView(undefined | string, undefined | CommunicationIdentifier, CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState, CreateViewOptions)

Hiermee wordt een RemoteVideoStreamState of LocalVideoStreamState weergegeven en wordt de resulterende VideoStreamRendererViewState onder de relevante RemoteVideoStreamState of LocalVideoStreamState of als niet-gepareerde weergave in de status opgeslagen. Onder de motorkap roept <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenario 1: RemoteVideoStreamState weergeven

  • CallId is vereist, participantId is vereist en stream van het type RemoteVideoStreamState is vereist
  • Resulterende VideoStreamRendererViewState wordt opgeslagen in de opgegeven callId en participantId in CallClientState

Scenario 2: Render LocalVideoStreamState voor een gesprek

  • CallId is vereist, participantId moet niet zijn gedefinieerd en de stream van het type LocalVideoStreamState is vereist.

  • De <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> moet al worden gestart met <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • Resulterende VideoStreamRendererViewState wordt opgeslagen in de opgegeven callId localVideoStreams in CallClientState.

  • Scenario 2: Render LocalVideoStreamState maakt geen deel uit van een gesprek (voorbeeld van renderingcamera voor lokale preview)

  • CallId moet niet gedefinieerd zijn, participantId moet niet zijn gedefinieerd en de stream van het type LocalVideoStreamState is vereist.

  • Resulterende VideoStreamRendererViewState wordt opgeslagen onder de opgegeven LocalVideoStreamState in <xref:CallClientState.deviceManager.unparentedViews>

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

Stopt met het weergeven van een RemoteVideoStreamState of LocalVideoStreamState en verwijdert de <xref:VideoStreamRendererView> uit de relevante RemoteVideoStreamState- in CallClientState of <xref:LocalVideoStream> in CallClientState of de juiste <xref:CallClientState.deviceManager.unparentedViews> Onder de kap roept <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Het is belangrijk omView te verwijderen om resources correct op te schonen.

Scenario 1: RemoteVideoStreamState verwijderen

  • CallId is vereist, participantId is vereist en stream van het type RemoteVideoStreamState is vereist

Scenario 2: LocalVideoStreamState verwijderen voor een oproep

  • CallId is vereist, participantId moet niet zijn gedefinieerd en de stream van het type LocalVideoStreamState is vereist.

  • Scenario 2: LocalVideoStreamState verwijderen die geen deel uitmaakt van een aanroep

  • CallId moet niet gedefinieerd zijn, participantId moet niet zijn gedefinieerd en de stream van het type LocalVideoStreamState is vereist.

  • LocalVideoStreamState moet de oorspronkelijke zijn die is doorgegeven aan createView.

getState()

Bevat alle statussen die we kunnen proxyn vanuit CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> als CallClientState CallClientState.

offStateChange((state: CallClientState) => void)

Hiermee staat u de registratie van 'stateChanged'-gebeurtenissen toe.

onStateChange((state: CallClientState) => void)

Hiermee kan een handler worden geregistreerd voor stateChanged-gebeurtenissen.

Overgenomen methoden

dispose()

Verwijdert deze CallClient die ook beschikt over de bijbehorende apparaatbeheerder en bijbehorende callagent.

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Hiermee haalt u een geïnitialiseerd en onthouden functieobject op met uitgebreide API. Controleer de objectfuncties.* voor alle beschikbare uitgebreide gespreksclientfuncties in dit pakket.

getDeviceManager()

DeviceManager wordt gebruikt voor het verwerken van mediaapparaten zoals camera's, microfoons en luidsprekers.

Methodedetails

createCallAgent([tokenCredential, options])

De CallAgent wordt gebruikt om aanroepen te verwerken. Als u de CallAgent wilt maken, geeft u een CommunicationTokenCredential-object door dat is opgegeven vanuit de SDK.

  • De CallClient kan slechts één actief CallAgent-exemplaar tegelijk hebben.
  • U kunt een nieuw CallClient-exemplaar maken om een nieuwe CallAgent te maken.
  • U kunt de huidige actieve CallAgent van een CallClient verwijderen en de methode createCallAgent() van de CallClient opnieuw aanroepen om een nieuwe CallAgent te maken.
function createCallAgent(args: [tokenCredential, options]): Promise<DeclarativeCallAgent>

Parameters

args

[tokenCredential, options]

Retouren

createTeamsCallAgent([tokenCredential, options])

De TeamsCallAgent wordt gebruikt om oproepen af te handelen. Als u TeamsCallAgent wilt maken, geeft u een CommunicationTokenCredential-object door dat is opgegeven vanuit de SDK.

  • De CallClient kan slechts één actief TeamsCallAgent-exemplaar tegelijk hebben.
  • U kunt een nieuw CallClient-exemplaar maken om een nieuwe TeamsCallAgent te maken.
  • U kunt de huidige actieve TeamsCallAgent van een CallClient verwijderen en de methode createTeamsCallAgent() van de CallClient opnieuw aanroepen om een nieuwe TeamsCallAgent te maken.
function createTeamsCallAgent(args: [tokenCredential, options]): Promise<DeclarativeTeamsCallAgent>

Parameters

args

[tokenCredential, options]

Retouren

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

Hiermee wordt een RemoteVideoStreamState of LocalVideoStreamState weergegeven en wordt de resulterende VideoStreamRendererViewState onder de relevante RemoteVideoStreamState of LocalVideoStreamState of als niet-gepareerde weergave in de status opgeslagen. Onder de motorkap roept <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenario 1: RemoteVideoStreamState weergeven

  • CallId is vereist, participantId is vereist en stream van het type RemoteVideoStreamState is vereist
  • Resulterende VideoStreamRendererViewState wordt opgeslagen in de opgegeven callId en participantId in CallClientState

Scenario 2: Render LocalVideoStreamState voor een gesprek

  • CallId is vereist, participantId moet niet zijn gedefinieerd en de stream van het type LocalVideoStreamState is vereist.

  • De <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> moet al worden gestart met <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • Resulterende VideoStreamRendererViewState wordt opgeslagen in de opgegeven callId localVideoStreams in CallClientState.

  • Scenario 2: Render LocalVideoStreamState maakt geen deel uit van een gesprek (voorbeeld van renderingcamera voor lokale preview)

  • CallId moet niet gedefinieerd zijn, participantId moet niet zijn gedefinieerd en de stream van het type LocalVideoStreamState is vereist.

  • Resulterende VideoStreamRendererViewState wordt opgeslagen onder de opgegeven LocalVideoStreamState in <xref:CallClientState.deviceManager.unparentedViews>

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

Parameters

callId

undefined | string

CallId voor de opgegeven stream. Kan niet worden gedefinieerd als de stream geen deel uitmaakt van een gesprek.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> gekoppeld aan de opgegeven RemoteVideoStreamState. Kan niet worden gedefinieerd als localVideoStreamState wordt weergegeven.

stream

CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState

De LocalVideoStreamState of RemoteVideoStreamState om de rendering te starten.

options
CreateViewOptions

Opties die worden doorgegeven aan de <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer>.

Retouren

Promise<undefined | CreateViewResult>

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

Stopt met het weergeven van een RemoteVideoStreamState of LocalVideoStreamState en verwijdert de <xref:VideoStreamRendererView> uit de relevante RemoteVideoStreamState- in CallClientState of <xref:LocalVideoStream> in CallClientState of de juiste <xref:CallClientState.deviceManager.unparentedViews> Onder de kap roept <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Het is belangrijk omView te verwijderen om resources correct op te schonen.

Scenario 1: RemoteVideoStreamState verwijderen

  • CallId is vereist, participantId is vereist en stream van het type RemoteVideoStreamState is vereist

Scenario 2: LocalVideoStreamState verwijderen voor een oproep

  • CallId is vereist, participantId moet niet zijn gedefinieerd en de stream van het type LocalVideoStreamState is vereist.

  • Scenario 2: LocalVideoStreamState verwijderen die geen deel uitmaakt van een aanroep

  • CallId moet niet gedefinieerd zijn, participantId moet niet zijn gedefinieerd en de stream van het type LocalVideoStreamState is vereist.

  • LocalVideoStreamState moet de oorspronkelijke zijn die is doorgegeven aan createView.

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

Parameters

callId

undefined | string

CallId voor de opgegeven stream. Kan niet worden gedefinieerd als de stream geen deel uitmaakt van een gesprek.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> gekoppeld aan de opgegeven RemoteVideoStreamState. Kan niet worden gedefinieerd als u LocalVideoStreamState disponeert.

stream

CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState

De LocalVideoStreamState of RemoteVideoStreamState die u wilt verwijderen.

getState()

Bevat alle statussen die we kunnen proxyn vanuit CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> als CallClientState CallClientState.

function getState(): CallClientState

Retouren

offStateChange((state: CallClientState) => void)

Hiermee staat u de registratie van 'stateChanged'-gebeurtenissen toe.

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

Parameters

handler

(state: CallClientState) => void

Oorspronkelijke callback die moet worden afgemeld.

onStateChange((state: CallClientState) => void)

Hiermee kan een handler worden geregistreerd voor stateChanged-gebeurtenissen.

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

Parameters

handler

(state: CallClientState) => void

Callback om de status te ontvangen.

Details overgenomen methode

dispose()

Verwijdert deze CallClient die ook beschikt over de bijbehorende apparaatbeheerder en bijbehorende callagent.

function dispose(): Promise<void>

Retouren

Promise<void>

Geërfd van AanroepenClient.dispose

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Hiermee haalt u een geïnitialiseerd en onthouden functieobject op met uitgebreide API. Controleer de objectfuncties.* voor alle beschikbare uitgebreide gespreksclientfuncties in dit pakket.

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

Parameters

factory

CallClientFeatureFactory<TFeature>

De factory voor de constructor voor aanroepen van clientfuncties die een uitgebreide API biedt.

Retouren

TFeature

overgenomen van CallClient.feature

getDeviceManager()

DeviceManager wordt gebruikt voor het verwerken van mediaapparaten zoals camera's, microfoons en luidsprekers.

function getDeviceManager(): Promise<DeviceManager>

Retouren

Promise<DeviceManager>

overgenomen van CallClient.getDeviceManager