Bagikan melalui


StatefulCallClient interface

Menentukan metode yang memungkinkan CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> digunakan secara stateful. 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:

  • Mengembalikan data dari <xref:%40azure%2Fcommunication-calling%23DeviceManager> API.
  • Mengembalikan data dari <xref:%40azure%2Fcommunication-calling%23CallAgent> API.
  • Pendengar secara otomatis dilampirkan ke berbagai objek panggilan komunikasi azure:
    • CallAgent 'incomingCall'
    • CallAgent 'callsUpdated'
    • DeviceManager 'videoDevicesUpdated'
    • DeviceManager 'audioDevicesUpdated
    • 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'
Extends

Metode

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

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

Skenario 1: Merender RemoteVideoStreamState

Skenario 2: Merender LocalVideoStreamState untuk panggilan

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

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

  • Menghasilkan VideoStreamRendererViewState disimpan di callId localVideoStreams yang diberikan di CallClientState.

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

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

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

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

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 panggilan <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>hood .

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 terdefinisi, dan aliran jenis LocalVideoStreamState diperlukan.

  • Skenario 2: Buang LocalVideoStreamState bukan bagian dari panggilan

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

  • LocalVideoStreamState harus 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

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent digunakan untuk menangani panggilan. Untuk membuat CallAgent, lewati 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(CommunicationTokenCredential, TeamsCallAgentOptions)

TeamsCallAgent digunakan untuk menangani panggilan Teams. Untuk membuat TeamsCallAgent, lewati 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.
feature<TFeature>(CallClientFeatureFactory<TFeature>)

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

getDeviceManager()

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

Detail Metode

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

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

Skenario 1: Merender RemoteVideoStreamState

Skenario 2: Merender LocalVideoStreamState untuk panggilan

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

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

  • Menghasilkan VideoStreamRendererViewState disimpan di callId localVideoStreams yang diberikan di CallClientState.

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

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

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

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

Parameter

callId

undefined | string

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

participantId

undefined | CommunicationIdentifier

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

stream

LocalVideoStreamState | RemoteVideoStreamState

LocalVideoStreamState atau RemoteVideoStreamState untuk mulai merender.

options
CreateViewOptions

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

Mengembalikan

Promise<undefined | CreateViewResult>

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

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 panggilan <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>hood .

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 terdefinisi, dan aliran jenis LocalVideoStreamState diperlukan.

  • Skenario 2: Buang LocalVideoStreamState bukan bagian dari panggilan

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

  • LocalVideoStreamState harus asli yang diteruskan ke createView.

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

Parameter

callId

undefined | string

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

participantId

undefined | CommunicationIdentifier

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

stream

LocalVideoStreamState | RemoteVideoStreamState

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

createCallAgent(CommunicationTokenCredential, CallAgentOptions)

CallAgent digunakan untuk menangani panggilan. Untuk membuat CallAgent, lewati 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(tokenCredential: CommunicationTokenCredential, options?: CallAgentOptions): Promise<CallAgent>

Parameter

tokenCredential
CommunicationTokenCredential

Kredensial token. Gunakan AzureCommunicationTokenCredential dari @azure/communication-common untuk membuat kredensial.

options
CallAgentOptions

CallAgentOptions untuk opsi tambahan seperti nama tampilan.

Mengembalikan

Promise<CallAgent>

Diwarisi Dari CallClient.createCallAgent

createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)

TeamsCallAgent digunakan untuk menangani panggilan Teams. Untuk membuat TeamsCallAgent, lewati 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(tokenCredential: CommunicationTokenCredential, options?: TeamsCallAgentOptions): Promise<TeamsCallAgent>

Parameter

tokenCredential
CommunicationTokenCredential

Kredensial token. Gunakan AzureCommunicationTokenCredential dari @azure/communication-common untuk membuat kredensial.

options
TeamsCallAgentOptions

CallAgentOptions untuk opsi tambahan seperti nama tampilan.

Mengembalikan

Promise<TeamsCallAgent>

Diwarisi Dari CallClient.createTeamsCallAgent

feature<TFeature>(CallClientFeatureFactory<TFeature>)

Mengambil objek Fitur yang diinisialisasi dan memoisasi dengan API yang diperluas. Periksa fitur objek.* untuk semua fitur klien panggilan diperluas 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.feature

getDeviceManager()

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

function getDeviceManager(): Promise<DeviceManager>

Mengembalikan

Promise<DeviceManager>

Diwarisi Dari CallClient.getDeviceManager