Bagikan melalui


StatefulCallClient interface

Menentukan metode yang memungkinkan CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> digunakan secara statefully. Antarmuka menyediakan akses ke status diproksi dan juga memungkinkan mendaftarkan handler untuk peristiwa perubahan status. Untuk definisi status, lihat CallClientState.

Peristiwa perubahan status didorong oleh:

  • Data yang ditampilkan dari <xref:%40azure%2Fcommunication-calling%23DeviceManager> API.
  • Data yang ditampilkan dari <xref:%40azure%2Fcommunication-calling%23CallAgent> API.
  • Pemroses secara otomatis dilampirkan ke berbagai objek panggilan komunikasi Azure:
    • CallAgent 'incomingCall'
    • CallAgent 'panggilanDiperbarui'
    • DeviceManager 'videoDevicesUpdated'
    • DeviceManager 'audioDevicesUpdatedUpdated
    • DeviceManager 'selectedMicrophoneChanged'
    • DeviceManager 'selectedSpeakerChanged'
    • Panggil 'stateChanged'
    • Panggil 'idChanged'
    • Panggil 'isMutedChanged'
    • Panggil 'isScreenSharingOnChanged'
    • Panggil 'remoteParticipantsUpdated'
    • Panggil 'localVideoStreamsUpdated'
    • IncomingCall 'callEnded'
    • RemoteParticipant 'stateChanged'
    • RemoteParticipant 'isMutedChanged'
    • RemoteParticipant 'displayNameChanged'
    • RemoteParticipant 'isSpeakingChanged'
    • RemoteParticipant 'videoStreamsUpdated'
    • RemoteVideoStream 'isAvailableChanged'
    • TranscriptionCallFeature 'isTranscriptionActiveChanged'
    • RecordingCallFeature 'isRecordingActiveChanged'
    • LocalRecordingCallFeature 'isLocalRecordingActiveChanged'
    • RaiseHandCallFeature 'raisedHandEvent'
    • RaiseHandCallFeature 'loweredHandEvent'
    • PPTLiveCallFeature 'isAciveChanged'
    • ReactionCallFeature 'reaksi'
Memperluas

Metode

createCallAgent([tokenCredential, options])

CallAgent digunakan untuk menangani panggilan. Untuk membuat CallAgent, teruskan objek CommunicationTokenCredential yang disediakan dari SDK.

  • CallClient hanya dapat memiliki satu instans CallAgent aktif pada satu waktu.
  • Anda dapat membuat instans CallClient baru untuk membuat CallAgent baru.
  • Anda dapat membuang CallAgent aktif CallClient saat ini, dan memanggil metode createCallAgent() CallClient lagi untuk membuat CallAgent baru.
createTeamsCallAgent([tokenCredential, options])

TeamsCallAgent digunakan untuk menangani panggilan. Untuk membuat TeamsCallAgent, teruskan objek CommunicationTokenCredential yang disediakan dari SDK.

  • CallClient hanya dapat memiliki satu instans TeamsCallAgent aktif pada satu waktu.
  • Anda dapat membuat instans CallClient baru untuk membuat TeamsCallAgent baru.
  • Anda dapat membuang TeamsCallAgent aktif CallClient saat ini, dan memanggil metode createTeamsCallAgent() CallClient lagi untuk membuat TeamsCallAgent baru.
createView(undefined | string, undefined | CommunicationIdentifier, CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState, CreateViewOptions)

Merender RemoteVideoStreamState atau LocalVideoStreamState dan menyimpan VideoStreamRendererViewState yang dihasilkan di bawah RemoteVideoStreamState atau LocalVideoStreamState yang relevan atau sebagai tampilan tidak induk di status. Di bawah tenda memanggil <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Skenario 1: Render RemoteVideoStreamState

  • CallId diperlukan, participantId diperlukan, dan aliran jenis RemoteVideoStreamState diperlukan
  • VideoStreamRendererViewState yang dihasilkan disimpan dalam callId dan participantId yang diberikan di CallClientState

Skenario 2: Merender LocalVideoStreamState untuk panggilan

  • CallId diperlukan, participantId harus tidak ditentukan, dan aliran jenis LocalVideoStreamState diperlukan.

  • Harus <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> sudah mulai menggunakan <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • VideoStreamRendererViewState yang dihasilkan disimpan dalam callId localVideoStreams yang diberikan di CallClientState.

  • Skenario 2: Merender LocalVideoStreamState bukan bagian dari panggilan (contoh kamera rendering untuk pratinjau lokal)

  • CallId harus tidak ditentukan, participantId harus tidak ditentukan, dan aliran jenis LocalVideoStreamState diperlukan.

  • VideoStreamRendererViewState yang dihasilkan disimpan di bawah LocalVideoStreamState yang diberikan di<xref:CallClientState.deviceManager.unparentedViews>

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

Berhenti merender RemoteVideoStreamState atau LocalVideoStreamState dan menghapus <xref:VideoStreamRendererView> dari RemoteVideoStreamState yang relevan di CallClientState atau <xref:LocalVideoStream> di CallClientState atau sesuai <xref:CallClientState.deviceManager.unparentedViews> Di bawah tenda panggilan <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Penting untuk disposeView untuk membersihkan sumber daya dengan benar.

Skenario 1: Buang RemoteVideoStreamState

  • CallId diperlukan, participantId diperlukan, dan aliran jenis RemoteVideoStreamState diperlukan

Skenario 2: Buang LocalVideoStreamState untuk panggilan

  • CallId diperlukan, participantId harus tidak ditentukan, dan aliran jenis LocalVideoStreamState diperlukan.

  • Skenario 2: Buang LocalVideoStreamState bukan bagian dari panggilan

  • CallId harus tidak ditentukan, participantId harus tidak ditentukan, dan aliran jenis LocalVideoStreamState diperlukan.

  • LocalVideoStreamState harus menjadi yang asli yang diteruskan ke createView.

getState()

Menyimpan semua status yang dapat kita proksi dari CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> sebagai CallClientState CallClientState.

offStateChange((state: CallClientState) => void)

Memungkinkan membatalkan pendaftaran untuk peristiwa 'stateChanged'.

onStateChange((state: CallClientState) => void)

Memungkinkan handler didaftarkan untuk peristiwa 'stateChanged'.

Metode yang Diwarisi

dispose()

Membuang CallClient ini yang juga membuang pengelola perangkat terkait dan agen panggilan terkait.

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Mengambil objek Fitur yang diinisialisasi dan memoisasi dengan API yang diperluas. Periksa objek Fitur.* untuk semua fitur klien panggilan diperpanjang yang tersedia dalam paket ini.

getDeviceManager()

DeviceManager digunakan untuk menangani perangkat media seperti kamera, mikrofon, dan speaker.

Detail Metode

createCallAgent([tokenCredential, options])

CallAgent digunakan untuk menangani panggilan. Untuk membuat CallAgent, teruskan objek CommunicationTokenCredential yang disediakan dari SDK.

  • CallClient hanya dapat memiliki satu instans CallAgent aktif pada satu waktu.
  • Anda dapat membuat instans CallClient baru untuk membuat CallAgent baru.
  • Anda dapat membuang CallAgent aktif CallClient saat ini, dan memanggil metode createCallAgent() CallClient lagi untuk membuat CallAgent baru.
function createCallAgent(args: [tokenCredential, options]): Promise<DeclarativeCallAgent>

Parameter

args

[tokenCredential, options]

Mengembalikan

createTeamsCallAgent([tokenCredential, options])

TeamsCallAgent digunakan untuk menangani panggilan. Untuk membuat TeamsCallAgent, teruskan objek CommunicationTokenCredential yang disediakan dari SDK.

  • CallClient hanya dapat memiliki satu instans TeamsCallAgent aktif pada satu waktu.
  • Anda dapat membuat instans CallClient baru untuk membuat TeamsCallAgent baru.
  • Anda dapat membuang TeamsCallAgent aktif CallClient saat ini, dan memanggil metode createTeamsCallAgent() CallClient lagi untuk membuat TeamsCallAgent baru.
function createTeamsCallAgent(args: [tokenCredential, options]): Promise<DeclarativeTeamsCallAgent>

Parameter

args

[tokenCredential, options]

Mengembalikan

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

Merender RemoteVideoStreamState atau LocalVideoStreamState dan menyimpan VideoStreamRendererViewState yang dihasilkan di bawah RemoteVideoStreamState atau LocalVideoStreamState yang relevan atau sebagai tampilan tidak induk di status. Di bawah tenda memanggil <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.

Skenario 1: Render RemoteVideoStreamState

  • CallId diperlukan, participantId diperlukan, dan aliran jenis RemoteVideoStreamState diperlukan
  • VideoStreamRendererViewState yang dihasilkan disimpan dalam callId dan participantId yang diberikan di CallClientState

Skenario 2: Merender LocalVideoStreamState untuk panggilan

  • CallId diperlukan, participantId harus tidak ditentukan, dan aliran jenis LocalVideoStreamState diperlukan.

  • Harus <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> sudah mulai menggunakan <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.

  • VideoStreamRendererViewState yang dihasilkan disimpan dalam callId localVideoStreams yang diberikan di CallClientState.

  • Skenario 2: Merender LocalVideoStreamState bukan bagian dari panggilan (contoh kamera rendering untuk pratinjau lokal)

  • CallId harus tidak ditentukan, participantId harus tidak ditentukan, dan aliran jenis LocalVideoStreamState diperlukan.

  • VideoStreamRendererViewState yang dihasilkan disimpan di bawah LocalVideoStreamState yang diberikan di<xref:CallClientState.deviceManager.unparentedViews>

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

Parameter

callId

undefined | string

CallId untuk aliran yang diberikan. Dapat tidak ditentukan jika aliran bukan bagian dari panggilan apa pun.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> terkait dengan RemoteVideoStreamState yang diberikan. Mungkin tidak ditentukan jika merender LocalVideoStreamState.

stream

CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState

LocalVideoStreamState atau RemoteVideoStreamState untuk mulai rendering.

options
CreateViewOptions

Opsi yang diteruskan ke .<xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer>

Mengembalikan

Promise<undefined | CreateViewResult>

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

Berhenti merender RemoteVideoStreamState atau LocalVideoStreamState dan menghapus <xref:VideoStreamRendererView> dari RemoteVideoStreamState yang relevan di CallClientState atau <xref:LocalVideoStream> di CallClientState atau sesuai <xref:CallClientState.deviceManager.unparentedViews> Di bawah tenda panggilan <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>.

Penting untuk disposeView untuk membersihkan sumber daya dengan benar.

Skenario 1: Buang RemoteVideoStreamState

  • CallId diperlukan, participantId diperlukan, dan aliran jenis RemoteVideoStreamState diperlukan

Skenario 2: Buang LocalVideoStreamState untuk panggilan

  • CallId diperlukan, participantId harus tidak ditentukan, dan aliran jenis LocalVideoStreamState diperlukan.

  • Skenario 2: Buang LocalVideoStreamState bukan bagian dari panggilan

  • CallId harus tidak ditentukan, participantId harus tidak ditentukan, dan aliran jenis LocalVideoStreamState diperlukan.

  • LocalVideoStreamState harus menjadi yang asli yang diteruskan ke createView.

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

Parameter

callId

undefined | string

CallId untuk aliran yang diberikan. Dapat tidak ditentukan jika aliran bukan bagian dari panggilan apa pun.

participantId

undefined | CommunicationIdentifier

<xref:RemoteParticipant.identifier> terkait dengan RemoteVideoStreamState yang diberikan. Mungkin tidak ditentukan jika membuang LocalVideoStreamState.

stream

CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState

LocalVideoStreamState atau RemoteVideoStreamState untuk dibuang.

getState()

Menyimpan semua status yang dapat kita proksi dari CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> sebagai CallClientState CallClientState.

function getState(): CallClientState

Mengembalikan

offStateChange((state: CallClientState) => void)

Memungkinkan membatalkan pendaftaran untuk peristiwa 'stateChanged'.

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

Parameter

handler

(state: CallClientState) => void

Panggilan balik asli untuk berhenti berlangganan.

onStateChange((state: CallClientState) => void)

Memungkinkan handler didaftarkan untuk peristiwa 'stateChanged'.

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

Parameter

handler

(state: CallClientState) => void

Panggilan balik untuk menerima status.

Detail Metode yang Diwarisi

dispose()

Membuang CallClient ini yang juga membuang pengelola perangkat terkait dan agen panggilan terkait.

function dispose(): Promise<void>

Mengembalikan

Promise<void>

Diwarisi dari MemanggilKlien.buang

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Mengambil objek Fitur yang diinisialisasi dan memoisasi dengan API yang diperluas. Periksa objek Fitur.* untuk semua fitur klien panggilan diperpanjang yang tersedia dalam paket ini.

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

Parameter

factory

CallClientFeatureFactory<TFeature>

Pabrik untuk konstruktor fitur klien panggilan yang menyediakan API yang diperluas.

Mengembalikan

TFeature

Diwarisi dari CallClient.fitur

getDeviceManager()

DeviceManager digunakan untuk menangani perangkat media seperti kamera, mikrofon, dan speaker.

function getDeviceManager(): Promise<DeviceManager>

Mengembalikan

Promise<DeviceManager>

Diwarisi dari CallClient.getDeviceManager