VoiceLiveSessionHandlers interface

دوال المعالجة لأحداث جلسة VoiceLive التي تتبع أنماط Azure SDK.

جميع المعالجين اختياريين - نفذ فقط الأحداث التي تهمك! كل معالج يتلقى بيانات أحداث قوية النوع ومعلومات سياقية.

الخصائص

onConnected

يتم الاتصال عندما تتصل الجلسة بنجاح بخدمة VoiceLive

onConversationItemCreated

يتم الاتصال عندما يتم إنشاء عنصر في المحادثة

onConversationItemDeleted

يتم الاتصال عندما يتم حذف عنصر من المحادثة

onConversationItemInputAudioTranscriptionCompleted

يتم استدعاء ذلك عند اكتمال تسجيل الصوت الداخلي

onConversationItemInputAudioTranscriptionDelta

يتم استدعاء ذلك عند استقبال دلتا نقل الصوت الداخلي

onConversationItemInputAudioTranscriptionFailed

يتم استدعاؤه عندما يفشل نسخ الصوت الإدخال

onConversationItemRetrieved

يتم الاتصال عند استرجاع عنصر من المحادثة

onConversationItemTruncated

يتم الاتصال عندما يتم اقتطاع بند المحادثة

onDisconnected

يتم استدعاء الجلسة عندما تنفصل الجلسة عن خدمة VoiceLive في وضع الفشل السريع، وهذا يشير إلى أن الجلسة معطلة بشكل دائم

onError

يتم استدعاء الجلسة عند حدوث خطأ يجعل الجلسة غير قابلة للاستخدام. في وضع الفشل السريع، هذا يشير إلى أن الجلسة معطلة بشكل دائم

onInputAudioBufferCleared

يتم الاتصال عندما يتم مسح مخزن الصوت الداخلي

onInputAudioBufferCommitted

يتم الاتصال عندما يتم التزام مخزن الصوت الداخلي

onInputAudioBufferSpeechStarted

يتم استدعاؤه عند اكتشاف الكلام في مدخل الصوت الخاص بالمستخدم

onInputAudioBufferSpeechStopped

يتم استدعاؤه عندما يتوقف اكتشاف الكلام في مدخل الصوت الخاص بالمستخدم

onMcpListToolsCompleted

يتم استدعاؤه عند اكتمال قائمة أدوات MCP

onMcpListToolsFailed

يتم استدعاؤه عندما تفشل قائمة أدوات MCP

onMcpListToolsInProgress

يتم الاتصال عندما يكون إدراج أدوات MCP قيد التنفيذ

onResponseAnimationBlendshapeDelta

يتم استدعاؤه عند استقبال بيانات الدمج المتحرك

onResponseAnimationBlendshapeDone

يتم استدعاؤه عند اكتمال بيانات دمج أشكال الرسوم المتحركة

onResponseAnimationVisemeDelta

يتم استدعاؤه عند استقبال بيانات viseme للتحريك

onResponseAnimationVisemeDone

يتم استدعاؤه عند اكتمال بيانات الرؤية المتحركة.

onResponseAudioDelta

يتم استدعاؤه عند استقبال بيانات الصوت من المساعد (استجابة صوتية متدفقة)

onResponseAudioDone

يتم الاتصال عند اكتمال الاستجابة الصوتية

onResponseAudioTimestampDelta

يتم الاتصال عند استقبال بيانات الطابع الزمني الصوتي

onResponseAudioTimestampDone

يتم استدعاء ذلك عند اكتمال بيانات الطابع الزمني الصوتي

onResponseAudioTranscriptDelta

يتم الاتصال عند استلام بيانات نص الصوت (كما قال المساعد كنص نصي)

onResponseAudioTranscriptDone

يتم الاتصال عند اكتمال نص الصوت

onResponseContentPartAdded

يتم استدعاؤه عندما يضاف جزء محتوى جديد إلى الرد

onResponseContentPartDone

يتم استدعاؤه عند إكمال جزء المحتوى

onResponseCreated

يتم استدعاء ذلك عندما يتم إنشاء استجابة من قبل المساعد

onResponseDone

يتم استدعاؤه عندما يكمل المساعد الرد

onResponseFunctionCallArgumentsDelta

يتم استدعاؤه عند استقبال وسائط استدعاء الدوال (البث)

onResponseFunctionCallArgumentsDone

يتم استدعاؤه عند اكتمال أوساط استدعاء الدوال

onResponseMcpCallArgumentsDelta

يتم استدعاؤه عند استقبال أوراقات استدعاء MCP (أثناء البث)

onResponseMcpCallArgumentsDone

يتم استدعاؤه عند اكتمال أورائط استدعاء MCP

onResponseMcpCallCompleted

يتم الاتصال عند اكتمال مكالمة MCP

onResponseMcpCallFailed

يتم الاتصال عندما تفشل مكالمة MCP

onResponseMcpCallInProgress

يتم الاتصال عندما تكون مكالمة MCP جارية

onResponseOutputItemAdded

يتم استدعاؤه عندما يضاف عنصر إخراج جديد إلى استجابة

onResponseOutputItemDone

يتم استدعاؤه عند إكمال عنصر الإخراج

onResponseTextDelta

يتم استدعاؤه عند استقبال بيانات نصية من المساعد (استجابة نصية متدفقة)

onResponseTextDone

يتم الاتصال عند اكتمال الرد على الرسالة النصية

onServerError

يتم استدعاؤه عند استقبال حدث خطأ من الخادم

onServerEvent

تم طلب جميع أحداث الخادم من خدمة VoiceLive. هذا معالج شامل يستقبل كل رسالة بروتوكول الخادم.

استخدم هذا من أجل:

  • تسجيل ومراقبة مخصص لجميع الأحداث
  • التعامل مع الأحداث المستقبلية التي لم يغطيها بعد المسؤولون المحددون
  • التصحيح والتطوير

ملاحظة: هذا يسمى بالإضافة إلى أي معالجين محددين أعلاه.

onSessionAvatarConnecting

يتم الاتصال عندما يقوم الخادم بإنشاء اتصال وسائط أفاتار

onSessionCreated

يتم استدعاؤه عند إنشاء الجلسة على الخادم

onSessionUpdated

يتم استدعاؤه عند تحديث تكوين الجلسة

تفاصيل الخاصية

onConnected

يتم الاتصال عندما تتصل الجلسة بنجاح بخدمة VoiceLive

onConnected?: (args: ConnectedEventArgs, context: ConnectionContext) => Promise<void>

قيمة الخاصية

(args: ConnectedEventArgs, context: ConnectionContext) => Promise<void>

onConversationItemCreated

يتم الاتصال عندما يتم إنشاء عنصر في المحادثة

onConversationItemCreated?: (event: ServerEventConversationItemCreated, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventConversationItemCreated, context: SessionContext) => Promise<void>

onConversationItemDeleted

يتم الاتصال عندما يتم حذف عنصر من المحادثة

onConversationItemDeleted?: (event: ServerEventConversationItemDeleted, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventConversationItemDeleted, context: SessionContext) => Promise<void>

onConversationItemInputAudioTranscriptionCompleted

يتم استدعاء ذلك عند اكتمال تسجيل الصوت الداخلي

onConversationItemInputAudioTranscriptionCompleted?: (event: ServerEventConversationItemInputAudioTranscriptionCompleted, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventConversationItemInputAudioTranscriptionCompleted, context: SessionContext) => Promise<void>

onConversationItemInputAudioTranscriptionDelta

يتم استدعاء ذلك عند استقبال دلتا نقل الصوت الداخلي

onConversationItemInputAudioTranscriptionDelta?: (event: ServerEventConversationItemInputAudioTranscriptionDelta, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventConversationItemInputAudioTranscriptionDelta, context: SessionContext) => Promise<void>

onConversationItemInputAudioTranscriptionFailed

يتم استدعاؤه عندما يفشل نسخ الصوت الإدخال

onConversationItemInputAudioTranscriptionFailed?: (event: ServerEventConversationItemInputAudioTranscriptionFailed, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventConversationItemInputAudioTranscriptionFailed, context: SessionContext) => Promise<void>

onConversationItemRetrieved

يتم الاتصال عند استرجاع عنصر من المحادثة

onConversationItemRetrieved?: (event: ServerEventConversationItemRetrieved, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventConversationItemRetrieved, context: SessionContext) => Promise<void>

onConversationItemTruncated

يتم الاتصال عندما يتم اقتطاع بند المحادثة

onConversationItemTruncated?: (event: ServerEventConversationItemTruncated, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventConversationItemTruncated, context: SessionContext) => Promise<void>

onDisconnected

يتم استدعاء الجلسة عندما تنفصل الجلسة عن خدمة VoiceLive في وضع الفشل السريع، وهذا يشير إلى أن الجلسة معطلة بشكل دائم

onDisconnected?: (args: DisconnectedEventArgs, context: ConnectionContext) => Promise<void>

قيمة الخاصية

(args: DisconnectedEventArgs, context: ConnectionContext) => Promise<void>

onError

يتم استدعاء الجلسة عند حدوث خطأ يجعل الجلسة غير قابلة للاستخدام. في وضع الفشل السريع، هذا يشير إلى أن الجلسة معطلة بشكل دائم

onError?: (args: ErrorEventArgs, context: ConnectionContext) => Promise<void>

قيمة الخاصية

(args: ErrorEventArgs, context: ConnectionContext) => Promise<void>

onInputAudioBufferCleared

يتم الاتصال عندما يتم مسح مخزن الصوت الداخلي

onInputAudioBufferCleared?: (event: ServerEventInputAudioBufferCleared, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventInputAudioBufferCleared, context: SessionContext) => Promise<void>

onInputAudioBufferCommitted

يتم الاتصال عندما يتم التزام مخزن الصوت الداخلي

onInputAudioBufferCommitted?: (event: ServerEventInputAudioBufferCommitted, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventInputAudioBufferCommitted, context: SessionContext) => Promise<void>

onInputAudioBufferSpeechStarted

يتم استدعاؤه عند اكتشاف الكلام في مدخل الصوت الخاص بالمستخدم

onInputAudioBufferSpeechStarted?: (event: ServerEventInputAudioBufferSpeechStarted, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventInputAudioBufferSpeechStarted, context: SessionContext) => Promise<void>

onInputAudioBufferSpeechStopped

يتم استدعاؤه عندما يتوقف اكتشاف الكلام في مدخل الصوت الخاص بالمستخدم

onInputAudioBufferSpeechStopped?: (event: ServerEventInputAudioBufferSpeechStopped, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventInputAudioBufferSpeechStopped, context: SessionContext) => Promise<void>

onMcpListToolsCompleted

يتم استدعاؤه عند اكتمال قائمة أدوات MCP

onMcpListToolsCompleted?: (event: ServerEventMcpListToolsCompleted, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventMcpListToolsCompleted, context: SessionContext) => Promise<void>

onMcpListToolsFailed

يتم استدعاؤه عندما تفشل قائمة أدوات MCP

onMcpListToolsFailed?: (event: ServerEventMcpListToolsFailed, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventMcpListToolsFailed, context: SessionContext) => Promise<void>

onMcpListToolsInProgress

يتم الاتصال عندما يكون إدراج أدوات MCP قيد التنفيذ

onMcpListToolsInProgress?: (event: ServerEventMcpListToolsInProgress, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventMcpListToolsInProgress, context: SessionContext) => Promise<void>

onResponseAnimationBlendshapeDelta

يتم استدعاؤه عند استقبال بيانات الدمج المتحرك

onResponseAnimationBlendshapeDelta?: (event: ServerEventResponseAnimationBlendshapeDelta, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAnimationBlendshapeDelta, context: SessionContext) => Promise<void>

onResponseAnimationBlendshapeDone

يتم استدعاؤه عند اكتمال بيانات دمج أشكال الرسوم المتحركة

onResponseAnimationBlendshapeDone?: (event: ServerEventResponseAnimationBlendshapeDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAnimationBlendshapeDone, context: SessionContext) => Promise<void>

onResponseAnimationVisemeDelta

يتم استدعاؤه عند استقبال بيانات viseme للتحريك

onResponseAnimationVisemeDelta?: (event: ServerEventResponseAnimationVisemeDelta, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAnimationVisemeDelta, context: SessionContext) => Promise<void>

onResponseAnimationVisemeDone

يتم استدعاؤه عند اكتمال بيانات الرؤية المتحركة.

onResponseAnimationVisemeDone?: (event: ServerEventResponseAnimationVisemeDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAnimationVisemeDone, context: SessionContext) => Promise<void>

onResponseAudioDelta

يتم استدعاؤه عند استقبال بيانات الصوت من المساعد (استجابة صوتية متدفقة)

onResponseAudioDelta?: (event: ServerEventResponseAudioDelta, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAudioDelta, context: SessionContext) => Promise<void>

onResponseAudioDone

يتم الاتصال عند اكتمال الاستجابة الصوتية

onResponseAudioDone?: (event: ServerEventResponseAudioDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAudioDone, context: SessionContext) => Promise<void>

onResponseAudioTimestampDelta

يتم الاتصال عند استقبال بيانات الطابع الزمني الصوتي

onResponseAudioTimestampDelta?: (event: ServerEventResponseAudioTimestampDelta, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAudioTimestampDelta, context: SessionContext) => Promise<void>

onResponseAudioTimestampDone

يتم استدعاء ذلك عند اكتمال بيانات الطابع الزمني الصوتي

onResponseAudioTimestampDone?: (event: ServerEventResponseAudioTimestampDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAudioTimestampDone, context: SessionContext) => Promise<void>

onResponseAudioTranscriptDelta

يتم الاتصال عند استلام بيانات نص الصوت (كما قال المساعد كنص نصي)

onResponseAudioTranscriptDelta?: (event: ServerEventResponseAudioTranscriptDelta, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAudioTranscriptDelta, context: SessionContext) => Promise<void>

onResponseAudioTranscriptDone

يتم الاتصال عند اكتمال نص الصوت

onResponseAudioTranscriptDone?: (event: ServerEventResponseAudioTranscriptDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseAudioTranscriptDone, context: SessionContext) => Promise<void>

onResponseContentPartAdded

يتم استدعاؤه عندما يضاف جزء محتوى جديد إلى الرد

onResponseContentPartAdded?: (event: ServerEventResponseContentPartAdded, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseContentPartAdded, context: SessionContext) => Promise<void>

onResponseContentPartDone

يتم استدعاؤه عند إكمال جزء المحتوى

onResponseContentPartDone?: (event: ServerEventResponseContentPartDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseContentPartDone, context: SessionContext) => Promise<void>

onResponseCreated

يتم استدعاء ذلك عندما يتم إنشاء استجابة من قبل المساعد

onResponseCreated?: (event: ServerEventResponseCreated, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseCreated, context: SessionContext) => Promise<void>

onResponseDone

يتم استدعاؤه عندما يكمل المساعد الرد

onResponseDone?: (event: ServerEventResponseDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseDone, context: SessionContext) => Promise<void>

onResponseFunctionCallArgumentsDelta

يتم استدعاؤه عند استقبال وسائط استدعاء الدوال (البث)

onResponseFunctionCallArgumentsDelta?: (event: ServerEventResponseFunctionCallArgumentsDelta, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseFunctionCallArgumentsDelta, context: SessionContext) => Promise<void>

onResponseFunctionCallArgumentsDone

يتم استدعاؤه عند اكتمال أوساط استدعاء الدوال

onResponseFunctionCallArgumentsDone?: (event: ServerEventResponseFunctionCallArgumentsDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseFunctionCallArgumentsDone, context: SessionContext) => Promise<void>

onResponseMcpCallArgumentsDelta

يتم استدعاؤه عند استقبال أوراقات استدعاء MCP (أثناء البث)

onResponseMcpCallArgumentsDelta?: (event: ServerEventResponseMcpCallArgumentsDelta, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseMcpCallArgumentsDelta, context: SessionContext) => Promise<void>

onResponseMcpCallArgumentsDone

يتم استدعاؤه عند اكتمال أورائط استدعاء MCP

onResponseMcpCallArgumentsDone?: (event: ServerEventResponseMcpCallArgumentsDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseMcpCallArgumentsDone, context: SessionContext) => Promise<void>

onResponseMcpCallCompleted

يتم الاتصال عند اكتمال مكالمة MCP

onResponseMcpCallCompleted?: (event: ServerEventResponseMcpCallCompleted, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseMcpCallCompleted, context: SessionContext) => Promise<void>

onResponseMcpCallFailed

يتم الاتصال عندما تفشل مكالمة MCP

onResponseMcpCallFailed?: (event: ServerEventResponseMcpCallFailed, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseMcpCallFailed, context: SessionContext) => Promise<void>

onResponseMcpCallInProgress

يتم الاتصال عندما تكون مكالمة MCP جارية

onResponseMcpCallInProgress?: (event: ServerEventResponseMcpCallInProgress, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseMcpCallInProgress, context: SessionContext) => Promise<void>

onResponseOutputItemAdded

يتم استدعاؤه عندما يضاف عنصر إخراج جديد إلى استجابة

onResponseOutputItemAdded?: (event: ServerEventResponseOutputItemAdded, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseOutputItemAdded, context: SessionContext) => Promise<void>

onResponseOutputItemDone

يتم استدعاؤه عند إكمال عنصر الإخراج

onResponseOutputItemDone?: (event: ServerEventResponseOutputItemDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseOutputItemDone, context: SessionContext) => Promise<void>

onResponseTextDelta

يتم استدعاؤه عند استقبال بيانات نصية من المساعد (استجابة نصية متدفقة)

onResponseTextDelta?: (event: ServerEventResponseTextDelta, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseTextDelta, context: SessionContext) => Promise<void>

onResponseTextDone

يتم الاتصال عند اكتمال الرد على الرسالة النصية

onResponseTextDone?: (event: ServerEventResponseTextDone, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventResponseTextDone, context: SessionContext) => Promise<void>

onServerError

يتم استدعاؤه عند استقبال حدث خطأ من الخادم

onServerError?: (event: ServerEventError, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventError, context: SessionContext) => Promise<void>

onServerEvent

تم طلب جميع أحداث الخادم من خدمة VoiceLive. هذا معالج شامل يستقبل كل رسالة بروتوكول الخادم.

استخدم هذا من أجل:

  • تسجيل ومراقبة مخصص لجميع الأحداث
  • التعامل مع الأحداث المستقبلية التي لم يغطيها بعد المسؤولون المحددون
  • التصحيح والتطوير

ملاحظة: هذا يسمى بالإضافة إلى أي معالجين محددين أعلاه.

onServerEvent?: (event: ServerEventUnion, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventUnion, context: SessionContext) => Promise<void>

onSessionAvatarConnecting

يتم الاتصال عندما يقوم الخادم بإنشاء اتصال وسائط أفاتار

onSessionAvatarConnecting?: (event: ServerEventSessionAvatarConnecting, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventSessionAvatarConnecting, context: SessionContext) => Promise<void>

onSessionCreated

يتم استدعاؤه عند إنشاء الجلسة على الخادم

onSessionCreated?: (event: ServerEventSessionCreated, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventSessionCreated, context: SessionContext) => Promise<void>

onSessionUpdated

يتم استدعاؤه عند تحديث تكوين الجلسة

onSessionUpdated?: (event: ServerEventSessionUpdated, context: SessionContext) => Promise<void>

قيمة الخاصية

(event: ServerEventSessionUpdated, context: SessionContext) => Promise<void>