Udostępnij za pośrednictwem


StatefulCallClient interface

Definiuje metody, które umożliwiają używanie <xref:%40azure%2Fcommunication-calling%23CallClient> CallClient stanowo. Interfejs zapewnia dostęp do stanu proxied, a także umożliwia rejestrowanie programu obsługi zdarzeń zmiany stanu. Aby uzyskać definicję stanu, zobacz CallClientState.

Zdarzenia zmiany stanu są sterowane przez:

  • Zwrócone dane z interfejsów API <xref:%40azure%2Fcommunication-calling%23DeviceManager>.
  • Zwrócone dane z interfejsów API <xref:%40azure%2Fcommunication-calling%23CallAgent>.
  • Odbiorniki są automatycznie dołączane do różnych obiektów wywołujących komunikację platformy Azure:
    • CallAgent "incomingCall"
    • CallAgent "callsUpdated"
    • DeviceManager "videoDevicesUpdated"
    • DeviceManager 'audioDevicesUpdated
    • DeviceManager "selectedMicrophoneChanged"
    • DeviceManager "selectedSpeakerChanged"
    • Wywoływanie metody "stateChanged"
    • Wywołaj metodę "idChanged"
    • Wywołanie metody "isMutedChanged"
    • Wywołaj metodę "isScreenSharingOnChanged"
    • Wywoływanie elementu "remoteParticipantsUpdated"
    • Wywołaj metodę "localVideoStreamsUpdated"
    • IncomingCall "callEnded"
    • RemoteParticipant "stateChanged"
    • RemoteParticipant "isMutedChanged"
    • RemoteParticipant "displayNameChanged"
    • RemoteParticipant "isSpeakingChanged"
    • RemoteParticipant "videoStreamsUpdated"
    • RemoteVideoStream "isAvailableChanged"
    • TranskrypcjaCallFeature "isTranscriptionActiveChanged"
    • RecordingCallFeature "isRecordingActiveChanged"
Rozszerzenie

Metody

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

Renderuje RemoteVideoStreamState lub LocalVideoStreamState i przechowuje wynikowe VideoStreamRendererViewState w odpowiednich RemoteVideoStreamState lub LocalVideoStreamState lub jako nieparentny widok w stanie. Pod maską wywołuje <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenariusz 1. Renderowanie elementu RemoteVideoStreamState

  • Identyfikator callId jest wymagany, wymagany jest identyfikator uczestnika, a strumień typu RemoteVideoStreamState jest wymagany
  • Wynikowe VideoStreamRendererViewState są przechowywane w danym identyfikatorze callId i identyfikator uczestnika w CallClientState

Scenariusz 2. Renderowanie elementu LocalVideoStreamState dla wywołania

  • Identyfikator CallId jest wymagany, identyfikator uczestnika musi być niezdefiniowany, a strumień typu LocalVideoStreamState jest wymagany.

  • <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> należy już uruchomić przy użyciu <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • Wynikowa VideoStreamRendererViewState jest przechowywana w danym identyfikatorze callId localVideoStreams w CallClientState.

  • Scenariusz 2. Renderowanie elementu LocalVideoStreamState nie jest częścią wywołania (na przykład renderowanie aparatu dla lokalnej wersji zapoznawczej)

  • CallId musi być niezdefiniowany, identyfikator uczestnika musi być niezdefiniowany, a strumień typu LocalVideoStreamState jest wymagany.

  • Wynikowa VideoStreamRendererViewState jest przechowywana w ramach danego obiektu LocalVideoStreamState w <xref:CallClientState.deviceManager.unparentedViews>

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

Zatrzymuje renderowanie RemoteVideoStreamState lub LocalVideoStreamState i usuwa <xref:VideoStreamRendererView> z odpowiednich RemoteVideoStreamState w CallClientState lub <xref:LocalVideoStream> w CallClientState lub odpowiednie <xref:CallClientState.deviceManager.unparentedViews> Wywołania <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Ważne jest, aby usunąć widok w celu prawidłowego czyszczenia zasobów.

Scenariusz 1: Usuwanie RemoteVideoStreamState

  • Identyfikator callId jest wymagany, wymagany jest identyfikator uczestnika, a strumień typu RemoteVideoStreamState jest wymagany

Scenariusz 2: Dispose LocalVideoStreamState dla wywołania

  • Identyfikator CallId jest wymagany, identyfikator uczestnika musi być niezdefiniowany, a strumień typu LocalVideoStreamState jest wymagany.

  • Scenariusz 2: Dispose LocalVideoStreamState nie jest częścią wywołania

  • CallId musi być niezdefiniowany, identyfikator uczestnika musi być niezdefiniowany, a strumień typu LocalVideoStreamState jest wymagany.

  • LocalVideoStreamState musi być oryginalnym przekazanym elementem do elementu createView.

getState()

Przechowuje cały stan serwera proxy z <xref:%40azure%2Fcommunication-calling%23CallClient> CallClient jako CallClientState CallClientState.

offStateChange((state: CallClientState) => void)

Umożliwia wyrejestrowanie zdarzeń "stateChanged".

onStateChange((state: CallClientState) => void)

Umożliwia zarejestrowanie programu obsługi dla zdarzeń stateChanged.

Metody dziedziczone

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent służy do obsługi wywołań. Aby utworzyć obiekt CallAgent, przekaż obiekt CommunicationTokenCredential dostarczony z zestawu SDK.

  • Obiekt CallClient może mieć tylko jedno aktywne wystąpienie CallAgent w danym momencie.
  • Możesz utworzyć nowe wystąpienie CallClient, aby utworzyć nowy element CallAgent.
  • Możesz usunąć bieżącą aktywną metodę CallClient CallAgent i wywołać metodę createCallAgent() obiektu CallClient, aby utworzyć nową metodę CallAgent.
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

Aplikacja TeamsCallAgent służy do obsługi wywołań usługi Teams. Aby utworzyć aplikację TeamsCallAgent, przekaż obiekt CommunicationTokenCredential dostarczony z zestawu SDK.

  • Obiekt CallClient może mieć tylko jedno aktywne wystąpienie TeamsCallAgent jednocześnie.
  • Możesz utworzyć nowe wystąpienie CallClient, aby utworzyć nowe wystąpienie aplikacji TeamsCallAgent.
  • Możesz usunąć bieżącą aktywną aplikację TeamsCallAgent obiektu CallClient i wywołać metodę createTeamsCallAgent() obiektu CallClient, aby utworzyć nową aplikację TeamsCallAgent.
feature<TFeature>(CallClientFeatureFactory<TFeature>)

Pobiera zainicjowany i zapamiętany obiekt funkcji z rozszerzonym interfejsem API. Sprawdź funkcje obiektu.* dla wszystkich dostępnych funkcji klienta połączeń rozszerzonych w tym pakiecie.

getDeviceManager()

Menedżer urządzeń służy do obsługi urządzeń multimedialnych, takich jak kamery, mikrofony i głośniki.

Szczegóły metody

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

Renderuje RemoteVideoStreamState lub LocalVideoStreamState i przechowuje wynikowe VideoStreamRendererViewState w odpowiednich RemoteVideoStreamState lub LocalVideoStreamState lub jako nieparentny widok w stanie. Pod maską wywołuje <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenariusz 1. Renderowanie elementu RemoteVideoStreamState

  • Identyfikator callId jest wymagany, wymagany jest identyfikator uczestnika, a strumień typu RemoteVideoStreamState jest wymagany
  • Wynikowe VideoStreamRendererViewState są przechowywane w danym identyfikatorze callId i identyfikator uczestnika w CallClientState

Scenariusz 2. Renderowanie elementu LocalVideoStreamState dla wywołania

  • Identyfikator CallId jest wymagany, identyfikator uczestnika musi być niezdefiniowany, a strumień typu LocalVideoStreamState jest wymagany.

  • <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> należy już uruchomić przy użyciu <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • Wynikowa VideoStreamRendererViewState jest przechowywana w danym identyfikatorze callId localVideoStreams w CallClientState.

  • Scenariusz 2. Renderowanie elementu LocalVideoStreamState nie jest częścią wywołania (na przykład renderowanie aparatu dla lokalnej wersji zapoznawczej)

  • CallId musi być niezdefiniowany, identyfikator uczestnika musi być niezdefiniowany, a strumień typu LocalVideoStreamState jest wymagany.

  • Wynikowa VideoStreamRendererViewState jest przechowywana w ramach danego obiektu LocalVideoStreamState w <xref:CallClientState.deviceManager.unparentedViews>

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

Parametry

callId

undefined | string

CallId dla danego strumienia. Może być niezdefiniowany, jeśli strumień nie jest częścią żadnego wywołania.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> skojarzone z danym RemoteVideoStreamState. Może być niezdefiniowany, jeśli renderowanie parametru LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState lub RemoteVideoStreamState, aby rozpocząć renderowanie.

options
CreateViewOptions

Opcje przekazywane do <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer>.

Zwraca

Promise<undefined | CreateViewResult>

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

Zatrzymuje renderowanie RemoteVideoStreamState lub LocalVideoStreamState i usuwa <xref:VideoStreamRendererView> z odpowiednich RemoteVideoStreamState w CallClientState lub <xref:LocalVideoStream> w CallClientState lub odpowiednie <xref:CallClientState.deviceManager.unparentedViews> Wywołania <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Ważne jest, aby usunąć widok w celu prawidłowego czyszczenia zasobów.

Scenariusz 1: Usuwanie RemoteVideoStreamState

  • Identyfikator callId jest wymagany, wymagany jest identyfikator uczestnika, a strumień typu RemoteVideoStreamState jest wymagany

Scenariusz 2: Dispose LocalVideoStreamState dla wywołania

  • Identyfikator CallId jest wymagany, identyfikator uczestnika musi być niezdefiniowany, a strumień typu LocalVideoStreamState jest wymagany.

  • Scenariusz 2: Dispose LocalVideoStreamState nie jest częścią wywołania

  • CallId musi być niezdefiniowany, identyfikator uczestnika musi być niezdefiniowany, a strumień typu LocalVideoStreamState jest wymagany.

  • LocalVideoStreamState musi być oryginalnym przekazanym elementem do elementu createView.

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

Parametry

callId

undefined | string

CallId dla danego strumienia. Może być niezdefiniowany, jeśli strumień nie jest częścią żadnego wywołania.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> skojarzone z danym RemoteVideoStreamState. Może być niezdefiniowany, jeśli zostanie zdysponowany LocalVideoStreamState.

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState lub RemoteVideoStreamState do usunięcia.

getState()

Przechowuje cały stan serwera proxy z <xref:%40azure%2Fcommunication-calling%23CallClient> CallClient jako CallClientState CallClientState.

function getState(): CallClientState

Zwraca

offStateChange((state: CallClientState) => void)

Umożliwia wyrejestrowanie zdarzeń "stateChanged".

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

Parametry

handler

(state: CallClientState) => void

Oryginalne wywołanie zwrotne, które ma zostać anulowane.

onStateChange((state: CallClientState) => void)

Umożliwia zarejestrowanie programu obsługi dla zdarzeń stateChanged.

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

Parametry

handler

(state: CallClientState) => void

Wywołanie zwrotne w celu odebrania stanu.

Szczegóły metody dziedziczonej

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent służy do obsługi wywołań. Aby utworzyć obiekt CallAgent, przekaż obiekt CommunicationTokenCredential dostarczony z zestawu SDK.

  • Obiekt CallClient może mieć tylko jedno aktywne wystąpienie CallAgent w danym momencie.
  • Możesz utworzyć nowe wystąpienie CallClient, aby utworzyć nowy element CallAgent.
  • Możesz usunąć bieżącą aktywną metodę CallClient CallAgent i wywołać metodę createCallAgent() obiektu CallClient, aby utworzyć nową metodę CallAgent.
function createCallAgent(tokenCredential: CommunicationTokenCredential, options?: CallAgentOptions): Promise<CallAgent>

Parametry

tokenCredential
CommunicationTokenCredential

Poświadczenia tokenu. Użyj polecenia AzureCommunicationTokenCredential z @azure/communication-common, aby utworzyć poświadczenie.

options
CallAgentOptions

CallAgentOptions dla dodatkowych opcji, takich jak nazwa wyświetlana.

Zwraca

Promise<CallAgent>

dziedziczone z CallClient.createCallAgent

createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

Aplikacja TeamsCallAgent służy do obsługi wywołań usługi Teams. Aby utworzyć aplikację TeamsCallAgent, przekaż obiekt CommunicationTokenCredential dostarczony z zestawu SDK.

  • Obiekt CallClient może mieć tylko jedno aktywne wystąpienie TeamsCallAgent jednocześnie.
  • Możesz utworzyć nowe wystąpienie CallClient, aby utworzyć nowe wystąpienie aplikacji TeamsCallAgent.
  • Możesz usunąć bieżącą aktywną aplikację TeamsCallAgent obiektu CallClient i wywołać metodę createTeamsCallAgent() obiektu CallClient, aby utworzyć nową aplikację TeamsCallAgent.
function createTeamsCallAgent(tokenCredential: CommunicationTokenCredential, options?: TeamsCallAgentOptions): Promise<TeamsCallAgent>

Parametry

tokenCredential
CommunicationTokenCredential

Poświadczenia tokenu. Użyj polecenia AzureCommunicationTokenCredential z @azure/communication-common, aby utworzyć poświadczenie.

options
TeamsCallAgentOptions

CallAgentOptions dla dodatkowych opcji, takich jak nazwa wyświetlana.

Zwraca

Promise<TeamsCallAgent>

dziedziczone z CallClient.createTeamsCallAgent

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Pobiera zainicjowany i zapamiętany obiekt funkcji z rozszerzonym interfejsem API. Sprawdź funkcje obiektu.* dla wszystkich dostępnych funkcji klienta połączeń rozszerzonych w tym pakiecie.

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

Parametry

factory

CallClientFeatureFactory<TFeature>

Fabryka konstruktora funkcji klienta wywołania, który udostępnia rozszerzony interfejs API.

Zwraca

TFeature

dziedziczone z CallClient.feature

getDeviceManager()

Menedżer urządzeń służy do obsługi urządzeń multimedialnych, takich jak kamery, mikrofony i głośniki.

function getDeviceManager(): Promise<DeviceManager>

Zwraca

Promise<DeviceManager>

dziedziczone z CallClient.getDeviceManager