مشاركة عبر


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 'رد فعل'
يمتد

الأساليب

createCallAgent([tokenCredential, options])

يتم استخدام CallAgent لمعالجة المكالمات. لإنشاء CallAgent، قم بتمرير كائن CommunicationTokenCredential الذي تم توفيره من SDK.

  • يمكن أن يكون لدى CallClient مثيل CallAgent نشط واحد فقط في كل مرة.
  • يمكنك إنشاء مثيل CallClient جديد لإنشاء CallAgent جديد.
  • يمكنك التخلص من CallAgent النشط الحالي ل CallClient، واستدعاء أسلوب createCallAgent() الخاص ب CallClient مرة أخرى لإنشاء CallAgent جديد.
createTeamsCallAgent([tokenCredential, options])

يتم استخدام TeamsCallAgent للتعامل مع المكالمات. لإنشاء TeamsCallAgent، قم بتمرير كائن CommunicationTokenCredential الذي تم توفيره من SDK.

  • يمكن أن يكون لدى CallClient مثيل TeamsCallAgent نشط واحد فقط في كل مرة.
  • يمكنك إنشاء مثيل CallClient جديد لإنشاء TeamsCallAgent جديد.
  • يمكنك التخلص من TeamsCallAgent النشط الحالي ل CallClient، واستدعاء طريقة createTeamsCallAgent() الخاصة ب CallClient مرة أخرى لإنشاء TeamsCallAgent جديد.
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>

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.

getState()

يحتفظ بجميع الحالات التي يمكننا توكيل لها من CallClient <xref:%40azure%2Fcommunication-calling%23CallClient> ك CallClientState CallClientState.

offStateChange((state: CallClientState) => void)

يسمح بإلغاء التسجيل لأحداث "stateChanged".

onStateChange((state: CallClientState) => void)

يسمح بتسجيل معالج لأحداث "stateChanged".

الأساليب المتوارثة

dispose()

يتخلص من CallClient هذا الذي يتخلص أيضا من مدير الجهاز المقترن ووكيل الاتصال المرتبط.

feature<TFeature>(CallClientFeatureFactory<TFeature>)

استرداد كائن ميزة تمت تهيئته ومذكرته باستخدام واجهة برمجة تطبيقات موسعة. تحقق من ميزات الكائن.* للحصول على جميع ميزات عميل المكالمة الموسعة المتوفرة في هذه الحزمة.

getDeviceManager()

يستخدم 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]

المرتجعات

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]

المرتجعات

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.

stream

CallFeatureStreamState | 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.

stream

CallFeatureStreamState | 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