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
| create |
CallAgent digunakan untuk menangani panggilan. Untuk membuat CallAgent, teruskan objek CommunicationTokenCredential yang disediakan dari SDK.
|
| create |
TeamsCallAgent digunakan untuk menangani panggilan. Untuk membuat TeamsCallAgent, teruskan objek CommunicationTokenCredential yang disediakan dari SDK.
|
| create |
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
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 tenda panggilan <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>. 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
| dispose() | Membuang CallClient ini yang juga membuang pengelola perangkat terkait dan agen panggilan terkait. |
| feature<TFeature>(Call |
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. |
| get |
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
Promise<DeclarativeCallAgent>
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
Promise<DeclarativeTeamsCallAgent>
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.
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.
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