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
create |
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
|
dispose |
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
Skenario 2: Buang LocalVideoStreamState untuk panggilan
|
get |
Menyimpan semua status yang dapat kita proksi dari CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> sebagai CallClientState CallClientState. |
off |
Memungkinkan membatalkan pendaftaran untuk peristiwa 'stateChanged'. |
on |
Memungkinkan handler didaftarkan untuk peristiwa 'stateChanged'. |
Metode yang Diwarisi
create |
CallAgent digunakan untuk menangani panggilan. Untuk membuat CallAgent, lewati objek CommunicationTokenCredential yang disediakan dari SDK.
|
create |
TeamsCallAgent digunakan untuk menangani panggilan Teams. Untuk membuat TeamsCallAgent, lewati objek CommunicationTokenCredential yang disediakan dari SDK.
|
feature<TFeature>(Call |
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. |
get |
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
- CallId diperlukan, participantId diperlukan, dan aliran jenis RemoteVideoStreamState diperlukan
- Menghasilkan VideoStreamRendererViewState disimpan di callId dan participantId yang diberikan di CallClientState
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.
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.
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