Udostępnij za pośrednictwem


StatefulCallClient interface

Definiuje metody, które umożliwiają używanie klasy CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> w sposób stanowy. 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:

  • Zwracane dane z <xref:%40azure%2Fcommunication-calling%23DeviceManager> interfejsów API.
  • Zwracane dane z <xref:%40azure%2Fcommunication-calling%23CallAgent> interfejsów API.
  • 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łaj metodę "isMutedChanged"
    • Wywołaj metodę "isScreenSharingOnChanged"
    • Wywołaj metodę "remoteParticipantsUpdated"
    • Wywołaj metodę "localVideoStreamsUpdated"
    • IncomingCall "callEnded"
    • RemoteParticipant "stateChanged"
    • RemoteParticipant "isMutedChanged"
    • RemoteParticipant "displayNameChanged"
    • RemoteParticipant "isSpeakingChanged"
    • RemoteParticipant "videoStreamsUpdated"
    • RemoteVideoStream "isAvailableChanged"
    • TranskrypcjaCallFeature "isTranscriptionActiveChanged"
    • RecordingCallFeature "isRecordingActiveChanged"
Extends

Metody

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

Renderuje Element RemoteVideoStreamState lub LocalVideoStreamState i przechowuje wynikowy element VideoStreamRendererViewState w ramach odpowiedniego elementu RemoteVideoStreamState lub LocalVideoStreamState lub jako widoku nieparzystego w stanie. Pod maską wywołuje metodę <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenariusz 1. Renderowanie RemoteVideoStreamState

Scenariusz 2. Renderowanie elementu LocalVideoStreamState dla wywołania

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

  • Element <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> musi już zostać uruchomiony przy użyciu polecenia <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • Wynikowe VideoStreamRendererViewState jest przechowywane w danym callId localVideoStreams w CallClientState.

  • Scenariusz 2: Renderowanie 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.

  • Wynikowe VideoStreamRendererViewState jest przechowywane w pod danym LocalVideoStreamState w <xref:CallClientState.deviceManager.unparentedViews>

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

Zatrzymuje renderowanie Elementu RemoteVideoStreamState lub LocalVideoStreamState i usuwa element <xref:VideoStreamRendererView> z odpowiedniego elementu RemoteVideoStreamState w CallClientState lub<xref:LocalVideoStream>CallClientState lub odpowiedniego <xref:CallClientState.deviceManager.unparentedViews> pod maską wywołań <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

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

Scenariusz 1: Dispose RemoteVideoStreamState

  • 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ć oryginalny przekazany do elementu createView.

getState()

Przechowuje cały stan, na który można utworzyć serwer proxy z klasy CallClientState <xref:%40azure%2Fcommunication-calling%23CallClient>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)

Funkcja 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 jednocześnie.
  • Możesz utworzyć nowe wystąpienie CallClient w celu utworzenia nowego klasy CallAgent.
  • Możesz usunąć bieżącą aktywną klasę CallAgent obiektu CallClient i ponownie wywołać metodę createCallAgent() obiektu CallClient, aby utworzyć nową klasę CallAgent.
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

Aplikacja TeamsCallAgent służy do obsługi wywołań usługi Teams. Aby utworzyć obiekt 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 TeamsCallAgent.
  • Możesz usunąć bieżącą aktywną aplikację TeamsCallAgent obiektu CallClient i ponownie wywołać metodę createTeamsCallAgent(), aby utworzyć nową klasę 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()

DeviceManager 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 Element RemoteVideoStreamState lub LocalVideoStreamState i przechowuje wynikowy element VideoStreamRendererViewState w ramach odpowiedniego elementu RemoteVideoStreamState lub LocalVideoStreamState lub jako widoku nieparzystego w stanie. Pod maską wywołuje metodę <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Scenariusz 1. Renderowanie RemoteVideoStreamState

Scenariusz 2. Renderowanie elementu LocalVideoStreamState dla wywołania

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

  • Element <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> musi już zostać uruchomiony przy użyciu polecenia <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • Wynikowe VideoStreamRendererViewState jest przechowywane w danym callId localVideoStreams w CallClientState.

  • Scenariusz 2: Renderowanie 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.

  • Wynikowe VideoStreamRendererViewState jest przechowywane w pod danym 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. Jeśli strumień nie jest częścią żadnego wywołania, może być niezdefiniowany.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> skojarzone z danym RemoteVideoStreamState. Może być niezdefiniowany, jeśli renderowanie 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 Elementu RemoteVideoStreamState lub LocalVideoStreamState i usuwa element <xref:VideoStreamRendererView> z odpowiedniego elementu RemoteVideoStreamState w CallClientState lub<xref:LocalVideoStream>CallClientState lub odpowiedniego <xref:CallClientState.deviceManager.unparentedViews> pod maską wywołań <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

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

Scenariusz 1: Dispose RemoteVideoStreamState

  • 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ć oryginalny przekazany do elementu createView.

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

Parametry

callId

undefined | string

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

participantId

undefined | CommunicationIdentifier

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

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState lub RemoteVideoStreamState do usunięcia.

getState()

Przechowuje cały stan, na który można utworzyć serwer proxy z klasy CallClientState <xref:%40azure%2Fcommunication-calling%23CallClient>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)

Funkcja 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 jednocześnie.
  • Możesz utworzyć nowe wystąpienie CallClient w celu utworzenia nowego klasy CallAgent.
  • Możesz usunąć bieżącą aktywną klasę CallAgent obiektu CallClient i ponownie wywołać metodę createCallAgent() obiektu CallClient, aby utworzyć nową klasę 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ć obiekt 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 TeamsCallAgent.
  • Możesz usunąć bieżącą aktywną aplikację TeamsCallAgent obiektu CallClient i ponownie wywołać metodę createTeamsCallAgent(), aby utworzyć nową klasę 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()

DeviceManager 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