StatefulCallClient interface
تعريف الأساليب التي تسمح باستخدام <xref:%40azure%2Fcommunication-calling%23CallClient> CallClient بشكل جيد. توفر الواجهة الوصول إلى الحالة المنقلة وتسمح أيضا بتسجيل معالج لأحداث تغيير الحالة. للحصول على تعريف الحالة، راجع CallClientState.
يتم تشغيل أحداث تغيير الحالة بواسطة:
- البيانات التي تم إرجاعها من واجهات برمجة التطبيقات <xref:%40azure%2Fcommunication-calling%23DeviceManager>.
- البيانات التي تم إرجاعها من واجهات برمجة التطبيقات <xref:%40azure%2Fcommunication-calling%23CallAgent>.
- وحدات الاستماع المرفقة تلقائيا بعناصر الاتصال المختلفة في Azure:
- CallAgent "incomingCall"
- CallAgent 'callsUpdated'
- DeviceManager 'videoDevicesUpdated'
- DeviceManager 'audioDevicesمحدث
- 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"
- LocalRecordingCallFeature 'isLocalRecordingActiveChanged'
- RaiseHandCallFeature 'raisedHandEvent'
- RaiseHandCallFeature 'loweredHandEvent'
- PPTLiveCallFeature 'isAciveChanged'
- ReactionCallFeature 'رد فعل'
- يمتد
الأساليب
| 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> من المهم التخلص من العرض لتنظيف الموارد بشكل صحيح. السيناريو 1: التخلص من RemoteVideoStreamState
السيناريو 2: التخلص من LocalVideoStreamState لمكالمة
|
| get |
يحتفظ بجميع الحالات التي يمكننا توكيل لها من CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> ك CallClientState CallClientState. |
| off |
يسمح بإلغاء التسجيل لأحداث "stateChanged". |
| on |
يسمح بتسجيل معالج لأحداث "stateChanged". |
الأساليب المتوارثة
| dispose() | يتخلص من CallClient هذا الذي يتخلص أيضا من مدير الجهاز المقترن ووكيل الاتصال المرتبط. |
| feature<TFeature>(Call |
استرداد كائن ميزة تمت تهيئته ومذكرته باستخدام واجهة برمجة تطبيقات موسعة. تحقق من ميزات الكائن.* للحصول على جميع ميزات عميل المكالمة الموسعة المتوفرة في هذه الحزمة. |
| 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 ، و requiantId مطلوب ، ومطلوب دفق من النوع 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: 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>
من المهم التخلص من العرض لتنظيف الموارد بشكل صحيح.
السيناريو 1: التخلص من RemoteVideoStreamState
- مطلوب CallId ، و requiantId مطلوب ، ومطلوب دفق من النوع RemoteVideoStreamState
السيناريو 2: التخلص من LocalVideoStreamState لمكالمة
CallId مطلوب ، ويجب أن يكون participantId غير محدد ، ومطلوب دفق من النوع LocalVideoStreamState.
السيناريو 2: التخلص من LocalVideoStreamState ليس جزءا من مكالمة
يجب أن يكون CallId غير محدد ، ويجب أن يكون participantId غير محدد ، وأن يكون دفق من النوع 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>)
استرداد كائن ميزة تمت تهيئته ومذكرته باستخدام واجهة برمجة تطبيقات موسعة. تحقق من ميزات الكائن.* للحصول على جميع ميزات عميل المكالمة الموسعة المتوفرة في هذه الحزمة.
function feature<TFeature>(factory: CallClientFeatureFactory<TFeature>): TFeature
المعلمات
- factory
-
CallClientFeatureFactory<TFeature>
المصنع لمنشئ ميزة عميل المكالمة الذي يوفر واجهة برمجة تطبيقات موسعة.
المرتجعات
TFeature
موروثة من CallClient.feature
getDeviceManager()
يستخدم DeviceManager للتعامل مع أجهزة الوسائط مثل الكاميرات والميكروفونات ومكبرات الصوت.
function getDeviceManager(): Promise<DeviceManager>
المرتجعات
Promise<DeviceManager>
موروثة من CallClient.getDeviceManager