StatefulCallClient interface
Определяет методы, разрешающие использование callClient <xref:%40azure%2Fcommunication-calling%23CallClient> с отслеживанием состояния. Интерфейс предоставляет доступ к прокси-состоянию, а также позволяет зарегистрировать обработчик для событий изменения состояния. Определение состояния см. в CallClientState.
События изменения состояния управляются следующими событиями:
- Возвращенные данные из API <xref:%40azure%2Fcommunication-calling%23DeviceManager>.
- Возвращенные данные из API <xref:%40azure%2Fcommunication-calling%23CallAgent>.
- Прослушиватели автоматически подключаются к различным объектам связи Azure:
- CallAgent "incomingCall"
- CallAgent "callUpdated"
- DeviceManager "videoDevicesUpdated"
- DeviceManager 'audioDevicesОбновлено
- DeviceManager 'selectedMicrophoneChanged'
- DeviceManager 'selectedSpeakerChanged'
- Вызов stateChanged
- Вызов "idChanged"
- Вызов isMutedChanged
- Вызов isScreenSharingOnChanged
- Вызов remoteParticipantsUpdated
- Вызов localVideoStreamsUpdated
- ВходящийCall "callEnded"
- RemoteParticipant "stateChanged"
- RemoteParticipant isMutedChanged
- RemoteParticipant "displayNameChanged"
- RemoteParticipant 'isSpeakingChanged'
- RemoteParticipant "videoStreamsUpdated"
- RemoteVideoStream 'isAvailableChanged'
- ТранскрибированиеCallFeature 'isTranscriptionActiveChanged'
- RecordingCallFeature 'isRecordingActiveChanged'
- LocalRecordingCallFeature 'isLocalRecordingActiveChanged'
- RaiseHandCallFeature 'raisedHandEvent'
- RaiseHandCallFeature 'loweredHandEvent'
- PPTLiveCallFeature 'isAciveChanged'
- ReactionCallFeature 'реакция'
- Extends
Методы
| create |
CallAgent используется для обработки вызовов. Чтобы создать CallAgent, передайте объект CommunicationTokenCredential, предоставленный пакетом SDK.
|
| create |
Для обработки вызовов используется TeamsCallAgent. Чтобы создать TeamsCallAgent, передайте объект CommunicationTokenCredential, предоставленный пакетом SDK.
|
| create |
Отрисовывает RemoteVideoStreamState или LocalVideoStreamState и сохраняет полученный VideoStreamRendererViewState в соответствующем RemoteVideoStreamState или LocalVideoStreamState или в качестве неродительского представления в состоянии. Под капотом звонки <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>. Сценарий 1: Рендеринг RemoteVideoStreamState
Сценарий 2: рендеринг LocalVideoStreamState для вызова
|
| dispose |
Останавливает рендеринг RemoteVideoStreamState или LocalVideoStreamState и удаляет <xref:VideoStreamRendererView> из соответствующего RemoteVideoStreamState в CallClientState или <xref:LocalVideoStream> в CallClientState или соответствующие <xref:CallClientState.deviceManager.unparentedViews> вызовы <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>Under the Hood. Важно утилизировать View, чтобы правильно очищать ресурсы. Сценарий 1: Удаление RemoteVideoStreamState
Сценарий 2: Удаление LocalVideoStreamState для вызова
|
| get |
Содержит все состояния, которые мы могли бы передать из CallClient, <xref:%40azure%2Fcommunication-calling%23CallClient> как CallClientState CallClientState. |
| off |
Разрешает отмену регистрации для событий stateChanged. |
| on |
Позволяет обработчику регистрироваться для событий stateChanged. |
Наследуемые методы
| dispose() | Удаляет этот CallClient, который также избавляется от связанного диспетчера устройств и связанного агента вызова. |
| feature<TFeature>(Call |
Извлекает инициализированный и memoized feature object with extended API. Проверьте объект Функции.* для получения всех доступных функций клиента расширенных вызовов в этом пакете. |
| get |
DeviceManager используется для работы с мультимедийными устройствами, такими как камеры, микрофоны и динамики. |
Сведения о методе
createCallAgent([tokenCredential, options])
CallAgent используется для обработки вызовов. Чтобы создать CallAgent, передайте объект CommunicationTokenCredential, предоставленный пакетом SDK.
- CallClient может иметь только один активный экземпляр CallAgent в каждый момент времени.
- Вы можете создать новый экземпляр CallClient, чтобы создать новый CallAgent.
- Вы можете избавиться от текущего активного CallAgent CallClient и снова вызвать метод createCallAgent() CallClient, чтобы создать новый CallAgent.
function createCallAgent(args: [tokenCredential, options]): Promise<DeclarativeCallAgent>
Параметры
- args
-
[tokenCredential, options]
Возвращаемое значение
Promise<DeclarativeCallAgent>
createTeamsCallAgent([tokenCredential, options])
Для обработки вызовов используется TeamsCallAgent. Чтобы создать TeamsCallAgent, передайте объект CommunicationTokenCredential, предоставленный пакетом SDK.
- CallClient может иметь только один активный экземпляр TeamsCallAgent в каждый момент времени.
- Вы можете создать новый экземпляр CallClient, чтобы создать новый TeamsCallAgent.
- Вы можете избавиться от текущего активного TeamsCallAgent CallClient и снова вызвать метод createTeamsCallAgent() CallClient, чтобы создать новый TeamsCallAgent.
function createTeamsCallAgent(args: [tokenCredential, options]): Promise<DeclarativeTeamsCallAgent>
Параметры
- args
-
[tokenCredential, options]
Возвращаемое значение
Promise<DeclarativeTeamsCallAgent>
createView(undefined | string, undefined | CommunicationIdentifier, CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState, CreateViewOptions)
Отрисовывает RemoteVideoStreamState или LocalVideoStreamState и сохраняет полученный VideoStreamRendererViewState в соответствующем RemoteVideoStreamState или LocalVideoStreamState или в качестве неродительского представления в состоянии. Под капотом звонки <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView>.
Сценарий 1: Рендеринг RemoteVideoStreamState
- Требуется CallId, требуется participantId и требуется поток типа RemoteVideoStreamState
- Результирующий VideoStreamRendererViewState хранится в заданном callId, а participantId - в CallClientState
Сценарий 2: рендеринг LocalVideoStreamState для вызова
Требуется CallId, participantId должен быть неопределенным, а поток типа LocalVideoStreamState обязателен.
Необходимо <xref:%40azure%2Fcommunication-calling%23Call.localVideoStreams> уже начать использовать <xref:%40azure%2Fcommunication-calling%23Call.startVideo>.
Результирующий VideoStreamRendererViewState хранится в заданном callId localVideoStreams в CallClientState.
Сценарий 2: Рендеринг LocalVideoStreamState не является частью вызова (пример рендеринга камеры для локального предварительного просмотра)
CallId должен быть undefined, participantId должен быть undefined, а также требуется поток типа LocalVideoStreamState.
Результирующий VideoStreamRendererViewState хранится в заданном LocalVideoStreamState в <xref:CallClientState.deviceManager.unparentedViews>
function createView(callId: undefined | string, participantId: undefined | CommunicationIdentifier, stream: CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState, options?: CreateViewOptions): Promise<undefined | CreateViewResult>
Параметры
- callId
-
undefined | string
CallId для данного потока. Может быть неопределенным, если поток не является частью какого-либо вызова.
- participantId
-
undefined | CommunicationIdentifier
<xref:RemoteParticipant.identifier> связанный с заданным состоянием RemoteVideoStreamState. Может быть не определен при рендеринге LocalVideoStreamState.
LocalVideoStreamState или RemoteVideoStreamState для начала отрисовки.
- options
- CreateViewOptions
Параметры, передаваемые в <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer>.
Возвращаемое значение
Promise<undefined | CreateViewResult>
disposeView(undefined | string, undefined | CommunicationIdentifier, CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState)
Останавливает рендеринг RemoteVideoStreamState или LocalVideoStreamState и удаляет <xref:VideoStreamRendererView> из соответствующего RemoteVideoStreamState в CallClientState или <xref:LocalVideoStream> в CallClientState или соответствующие <xref:CallClientState.deviceManager.unparentedViews> вызовы <xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>Under the Hood.
Важно утилизировать View, чтобы правильно очищать ресурсы.
Сценарий 1: Удаление RemoteVideoStreamState
- Требуется CallId, требуется participantId и требуется поток типа RemoteVideoStreamState
Сценарий 2: Удаление LocalVideoStreamState для вызова
Требуется CallId, participantId должен быть неопределенным, а поток типа LocalVideoStreamState обязателен.
Сценарий 2: Удаление LocalVideoStreamState, не являющегося частью вызова
CallId должен быть undefined, participantId должен быть undefined, а также требуется поток типа LocalVideoStreamState.
LocalVideoStreamState должен быть исходным, переданным в createView.
function disposeView(callId: undefined | string, participantId: undefined | CommunicationIdentifier, stream: CallFeatureStreamState | RemoteVideoStreamState | LocalVideoStreamState)
Параметры
- callId
-
undefined | string
CallId для данного потока. Может быть неопределенным, если поток не является частью какого-либо вызова.
- participantId
-
undefined | CommunicationIdentifier
<xref:RemoteParticipant.identifier> связанный с заданным состоянием RemoteVideoStreamState. Может быть не определен при удалении LocalVideoStreamState.
LocalVideoStreamState или RemoteVideoStreamState для утилизации.
getState()
Содержит все состояния, которые мы могли бы передать из CallClient, <xref:%40azure%2Fcommunication-calling%23CallClient> как CallClientState CallClientState.
function getState(): CallClientState
Возвращаемое значение
offStateChange((state: CallClientState) => void)
Разрешает отмену регистрации для событий stateChanged.
function offStateChange(handler: (state: CallClientState) => void)
Параметры
- handler
-
(state: CallClientState) => void
Исходный обратный вызов для отмены подписки.
onStateChange((state: CallClientState) => void)
Позволяет обработчику регистрироваться для событий stateChanged.
function onStateChange(handler: (state: CallClientState) => void)
Параметры
- handler
-
(state: CallClientState) => void
Обратный вызов для получения состояния.
Сведения о наследуемом методе
dispose()
Удаляет этот CallClient, который также избавляется от связанного диспетчера устройств и связанного агента вызова.
function dispose(): Promise<void>
Возвращаемое значение
Promise<void>
Унаследовано от CallClient.dispose
feature<TFeature>(CallClientFeatureFactory<TFeature>)
Извлекает инициализированный и memoized feature object with extended API. Проверьте объект Функции.* для получения всех доступных функций клиента расширенных вызовов в этом пакете.
function feature<TFeature>(factory: CallClientFeatureFactory<TFeature>): TFeature
Параметры
- factory
-
CallClientFeatureFactory<TFeature>
Фабрика для конструктора функций клиента вызова, предоставляющего расширенный API.
Возвращаемое значение
TFeature
Унаследовано от CallClient.feature
getDeviceManager()
DeviceManager используется для работы с мультимедийными устройствами, такими как камеры, микрофоны и динамики.
function getDeviceManager(): Promise<DeviceManager>
Возвращаемое значение
Promise<DeviceManager>
Унаследовано от CallClient.getDeviceManager