StatefulCallClient interface
Определяет методы, позволяющие использовать CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> с отслеживанием состояния. Интерфейс предоставляет доступ к прокси-состоянию, а также позволяет регистрировать обработчик для событий изменения состояния. Определение состояния см. в разделе CallClientState.
События изменения состояния управляются следующими:
- Возвращаемые данные из <xref:%40azure%2Fcommunication-calling%23DeviceManager> API.
- Возвращаемые данные из <xref:%40azure%2Fcommunication-calling%23CallAgent> API.
- Прослушиватели автоматически подключаются к различным объектам, вызывающим связь Azure:
- CallAgent 'incomingCall'
- CallAgent 'callsUpdated'
- DeviceManager 'videoDevicesUpdated'
- DeviceManager 'audioDevicesUpdated
- DeviceManager 'selectedMicrophoneChanged'
- DeviceManager 'selectedSpeakerChanged'
- Вызов stateChanged
- Вызов "idChanged"
- Вызов isMutedChanged
- Вызов isScreenSharingOnChanged
- Вызов remoteParticipantsUpdated
- Вызов localVideoStreamsUpdated
- IncomingCall 'callEnded'
- RemoteParticipant "stateChanged"
- RemoteParticipant "isMutedChanged"
- RemoteParticipant "displayNameChanged"
- RemoteParticipant isSpeakingChanged
- RemoteParticipant 'videoStreamsUpdated'
- RemoteVideoStream 'isAvailableChanged'
- TranscriptionCallFeature 'isTranscriptionActiveChanged'
- RecordingCallFeature 'isRecordingActiveChanged'
- Extends
Методы
create |
Отрисовывает RemoteVideoStreamState или LocalVideoStreamState и сохраняет результирующий Объект VideoStreamRendererViewState в соответствующем представлении RemoteVideoStreamState или LocalVideoStreamState или в качестве нероданого представления в состоянии . Под капотом вызывает .<xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.createView> Сценарий 1. Отрисовка RemoteVideoStreamState
Сценарий 2. Отрисовка LocalVideoStreamState для вызова
|
dispose |
Останавливает отрисовку RemoteVideoStreamState или LocalVideoStreamState и удаляет из соответствующего объекта RemoteVideoStreamState в CallClientState или <xref:LocalVideoStream>CallClientState или соответствующих <xref:CallClientState.deviceManager.unparentedViews> вызовов <xref:VideoStreamRendererView><xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>Под капотом . Важно удалитьview для правильной очистки ресурсов. Сценарий 1. Удаление RemoteVideoStreamState
Сценарий 2. Удаление LocalVideoStreamState для вызова
|
get |
Содержит все состояние, которое можно использовать для прокси-сервера CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> как CallClientState CallClientState. |
off |
Позволяет отменить регистрацию для событий stateChanged. |
on |
Позволяет регистрировать обработчик для событий stateChanged. |
Наследуемые методы
create |
CallAgent используется для обработки вызовов. Чтобы создать CallAgent, передайте объект CommunicationTokenCredential, предоставленный из пакета SDK.
|
create |
TeamsCallAgent используется для обработки вызовов Teams. Чтобы создать TeamsCallAgent, передайте объект CommunicationTokenCredential, предоставленный из пакета SDK.
|
feature<TFeature>(Call |
Извлекает инициализированный и замеченный объект Feature с расширенным API. Проверьте объект Features.* для всех доступных расширенных функций клиента вызовов в этом пакете. |
get |
DeviceManager используется для обработки мультимедийных устройств, таких как камеры, микрофоны и динамики. |
Сведения о методе
createView(undefined | string, undefined | CommunicationIdentifier, LocalVideoStreamState | RemoteVideoStreamState, 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 должен быть неопределенным, participantId должен быть неопределенным, и требуется поток типа LocalVideoStreamState.
Результирующий VideoStreamRendererViewState хранится в заданном LocalVideoStreamState в <xref:CallClientState.deviceManager.unparentedViews>
function createView(callId: undefined | string, participantId: undefined | CommunicationIdentifier, stream: LocalVideoStreamState | RemoteVideoStreamState, 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, LocalVideoStreamState | RemoteVideoStreamState)
Останавливает отрисовку RemoteVideoStreamState или LocalVideoStreamState и удаляет из соответствующего объекта RemoteVideoStreamState в CallClientState или <xref:LocalVideoStream>CallClientState или соответствующих <xref:CallClientState.deviceManager.unparentedViews> вызовов <xref:VideoStreamRendererView><xref:%40azure%2Fcommunication-calling%23VideoStreamRenderer.dispose>Под капотом .
Важно удалитьview для правильной очистки ресурсов.
Сценарий 1. Удаление RemoteVideoStreamState
- CallId является обязательным, participantId — обязательным, и требуется поток типа RemoteVideoStreamState.
Сценарий 2. Удаление LocalVideoStreamState для вызова
CallId является обязательным, participantId должен быть неопределенным, и требуется поток типа LocalVideoStreamState.
Сценарий 2. Удаление LocalVideoStreamState не является частью вызова
CallId должен быть неопределенным, participantId должен быть неопределенным, и требуется поток типа LocalVideoStreamState.
LocalVideoStreamState должен быть исходным, переданным в createView.
function disposeView(callId: undefined | string, participantId: undefined | CommunicationIdentifier, stream: LocalVideoStreamState | RemoteVideoStreamState)
Параметры
- 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
Обратный вызов для получения состояния.
Сведения о наследуемом методе
createCallAgent(CommunicationTokenCredential, CallAgentOptions)
CallAgent используется для обработки вызовов. Чтобы создать CallAgent, передайте объект CommunicationTokenCredential, предоставленный из пакета SDK.
- CallClient может иметь только один активный экземпляр CallAgent за раз.
- Вы можете создать новый экземпляр CallClient, чтобы создать новый Объект CallAgent.
- Вы можете удалить текущий активный CallAgent CallAgent в CallClient и снова вызвать метод createCallAgent() CallClient, чтобы создать новый CallAgent.
function createCallAgent(tokenCredential: CommunicationTokenCredential, options?: CallAgentOptions): Promise<CallAgent>
Параметры
- tokenCredential
- CommunicationTokenCredential
Учетные данные маркера. Используйте AzureCommunicationTokenCredential from @azure/communication-common для создания учетных данных.
- options
- CallAgentOptions
CallAgentOptions для дополнительных параметров, таких как отображаемое имя.
Возвращаемое значение
Promise<CallAgent>
Наследуется от CallClient.createCallAgent
createTeamsCallAgent(CommunicationTokenCredential, TeamsCallAgentOptions)
TeamsCallAgent используется для обработки вызовов Teams. Чтобы создать TeamsCallAgent, передайте объект CommunicationTokenCredential, предоставленный из пакета SDK.
- CallClient может иметь только один активный экземпляр TeamsCallAgent одновременно.
- Вы можете создать новый экземпляр CallClient, чтобы создать новый Экземпляр TeamsCallAgent.
- Вы можете удалить текущий активный TeamsCallAgent callClient и снова вызвать метод createTeamsCallAgent() CallClient, чтобы создать новый TeamsCallAgent.
function createTeamsCallAgent(tokenCredential: CommunicationTokenCredential, options?: TeamsCallAgentOptions): Promise<TeamsCallAgent>
Параметры
- tokenCredential
- CommunicationTokenCredential
Учетные данные маркера. Используйте AzureCommunicationTokenCredential from @azure/communication-common для создания учетных данных.
- options
- TeamsCallAgentOptions
CallAgentOptions для дополнительных параметров, таких как отображаемое имя.
Возвращаемое значение
Promise<TeamsCallAgent>
Наследуется от CallClient.createTeamsCallAgent
feature<TFeature>(CallClientFeatureFactory<TFeature>)
Извлекает инициализированный и замеченный объект Feature с расширенным API. Проверьте объект Features.* для всех доступных расширенных функций клиента вызовов в этом пакете.
function feature<TFeature>(factory: CallClientFeatureFactory<TFeature>): TFeature
Параметры
- factory
-
CallClientFeatureFactory<TFeature>
Фабрика для конструктора функций клиента вызова, который предоставляет расширенный API.
Возвращаемое значение
TFeature
Наследуется от CallClient.feature
getDeviceManager()
DeviceManager используется для обработки мультимедийных устройств, таких как камеры, микрофоны и динамики.
function getDeviceManager(): Promise<DeviceManager>
Возвращаемое значение
Promise<DeviceManager>
Наследуется от CallClient.getDeviceManager