انتقل إلى المحتوى الرئيسي

التقاط الصوت في Pixel Streaming

Pixel Streaming هو إضافة لمحرك Unreal Engine تقوم ببث الإطارات المُصَورة وتزامن الإدخال/الإخراج عبر WebRTC. يعمل التطبيق على جانب الخادم، بينما يتعامل جانب العميل مع التصيير وتفاعل المستخدم. لمزيد من التفاصيل حول Pixel Streaming والإعداد، راجع توثيق Pixel Streaming.

Pixel Streaming مقابل Pixel Streaming 2

تدعم هذه الإضافة إصدارات Pixel Streaming المتاحة في Unreal Engine:

  • Pixel Streaming - الإضافة الأصلية، المتاحة منذ UE 5.2 ولا تزال مستخدمة بنشاط في إصدارات المحرك الحالية
  • Pixel Streaming 2 - تم تقديمها في UE 5.5 كتنفيذ من الجيل التالي بهيكل داخلي محسن. اعرف المزيد عن Pixel Streaming 2

كلا الإصدارين مدعومان بالكامل ومتاحان في أحدث إصدارات Unreal Engine (بما في ذلك UE 5.6). اختر الإصدار الذي يتطابق مع إعداد Pixel Streaming لمشروعك.

معلومات

واجهة برمجة التطبيقات API لكلا الإصدارين متطابقة، والفرق الوحيد هو أن فئات ووظائف Pixel Streaming 2 تتضمن الرقم "2" في أسمائها (على سبيل المثال، UPixelStreamingCapturableSoundWave مقابل UPixelStreaming2CapturableSoundWave).

التوافق

يعمل هذا الحل مع:

تم اختبار التنفيذ عبر هذه البيئات ويعمل بشكل صحيح بغض النظر عن حل استضافة Pixel Streaming المستخدم.

تثبيت إضافة الامتداد

يتم توفير هذه الميزة كامتداد لإضافة Runtime Audio Importer. لاستخدامها، تحتاج إلى:

  1. التأكد من تثبيت إضافة Runtime Audio Importer مسبقًا في مشروعك
  2. تنزيل إضافة الامتداد لإصدار Pixel Streaming الخاص بك:
  3. استخراج المجلد من الأرشيف الذي تم تنزيله إلى مجلد Plugins في مشروعك (قم بإنشاء هذا المجلد إذا لم يكن موجودًا)
  4. إعادة بناء مشروعك (يتطلب هذا الامتداد مشروعًا بلغة C++)
important
  • هذه الإضافات مقدمة كشفرة مصدرية وتتطلب مشروع C++ لاستخدامها
  • إضافة Pixel Streaming: مدعومة في UE 5.2 والإصدارات الأحدث
  • إضافة Pixel Streaming 2: مدعومة في UE 5.5 والإصدارات الأحدث
  • لمزيد من المعلومات حول كيفية بناء الإضافات يدويًا، راجع درس بناء الإضافات

نظرة عامة

يمتد Capturable Sound Wave الخاص بـ Pixel Streaming Capturable Sound Wave القياسي للسماح بالتقاط الصوت مباشرة من ميكروفونات عملاء Pixel Streaming. تتيح لك هذه الميزة:

  • التقاط الصوت من المتصفحات المتصلة عبر Pixel Streaming
  • معالجة الصوت من لاعبين/نظائر محددين
  • تنفيذ الدردشة الصوتية، أو الأوامر الصوتية، أو تسجيل الصوت من المستخدمين البعيدين

الاستخدام الأساسي

إنشاء Capturable Sound Wave الخاص بـ Pixel Streaming

أولاً، تحتاج إلى إنشاء كائن Capturable Sound Wave الخاص بـ Pixel Streaming:

عقدة إنشاء Capturable Sound Wave الخاص بـ Pixel Streaming

warning

يجب أن تعامل موجة الصور القابلة للتسجيل في Pixel Streaming كمرجع قوي لمنع التدمير المبكر (على سبيل المثال، عن طريق تعيينه لمتغير منفصل في Blueprints أو استخدام UPROPERTY() في C++).

بدء وإيقاف التسجيل

يمكنك بدء وإيقاف تسجيل الصوت باستدعاءات دالة بسيطة:

عقد بدء وإيقاف التسجيل

ملاحظة

يتم تجاهل المعلمة DeviceId في StartCapture لموجات الصوت القابلة للتسجيل في Pixel Streaming، حيث يتم تحديد مصدر التسجيل تلقائيًا أو من خلال معلومات اللاعب التي قمت بتعيينها.

التحقق من حالة التسجيل

يمكنك التحقق مما إذا كانت موجة الصوت تقوم حاليًا بتسجيل الصوت:

عقدة Is Capturing

مثال كامل

إليك مثالاً كاملاً لكيفية إعداد التقاط الصوت في Pixel Streaming:

مثال التقاط Pixel Streaming الكامل

العمل مع مشغلات البث البكسي المتعددة

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

الحصول على مشغلات البث البكسي المتاحة

لتحديد أي مشغلات البث البكسي متصلة:

عقدة الحصول على مشغلات البث البكسي المتاحة

تعيين اللاعب للالتقاط منه

عندما تحتاج إلى الالتقاط من لاعب محدد:

عقدة Set Player To Capture From

معلومات

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

حالات الاستخدام الشائعة

تنفيذ الدردشة الصوتية

يمكنك استخدام أشكال الموجة الصوتية القابلة للتسليم عبر Pixel Streaming لتنفيذ دردشة صوتية بين المستخدمين البعيدين واللاعبين المحليين:

  1. قم بإنشاء شكل موجة صوتية قابلة للتسليم عبر Pixel Streaming لكل لاعب متصل
  2. قم بإعداد نظام لإدارة اللاعبين الذين يتحدثون حاليًا
  3. استخدم نظام كشف النشاط الصوتي للكشف عن وقت تحدث المستخدمين
  4. قم بتحديد مكان الصوت باستخدام نظام الصوت في Unreal Engine إذا لزم الأمر

الأوامر الصوتية مع التعرف على الكلام

يمكنك تنفيذ التعرف على الأوامر الصوتية للمستخدمين البعيدين من خلال الجمع بين هذه الميزة والإضافة Runtime Speech Recognizer:

  1. قم بتسجيل الصوت من عملاء Pixel Streaming باستخدام شكل الموجة الصوتية القابلة للتسليم عبر Pixel Streaming
  2. قم بتغذية الصوت المسجل مباشرة إلى Runtime Speech Recognizer
  3. قم بمعالجة النص المعترف به في منطق لعبتك

ما عليك سوى استبدال شكل الموجة الصوتية القابلة للتسجيل القياسي بشكل الموجة الصوتية القابلة للتسليم عبر Pixel Streaming (أو Pixel Streaming 2 Capturable Sound Wave) في أمثلة Runtime Speech Recognizer، وسيعمل بسلاسة مع إدخال الصوت من Pixel Streaming.

تسجيل صوت المستخدم البعيد

يمكنك تسجيل الصوت من المستخدمين البعيدين للتشغيل لاحقًا:

  1. قم بتسجيل الصوت باستخدام شكل الموجة الصوتية القابلة للتسليم عبر Pixel Streaming
  2. قم بتصدير الصوت المسجل إلى ملف باستخدام تصدير الصوت
  3. احفظ الملف للاستخدام أو التحليل لاحقًا