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

استيراد الصوت

نظرة عامة

يمكن تقسيم عملية استيراد الصوت أثناء التشغيل إلى عدة خطوات:

  1. إنشاء أداة استيراد الصوت أثناء التشغيل (Runtime Audio Importer)
  2. ربط المفوضين المطلوبين (OnProgress و OnResult)
  3. استيراد الصوت من ملف أو مخزن مؤقت
  4. تشغيل موجة الصوت المستوردة التي تم الحصول عليها من المفوض OnResult (مزيد من المعلومات هنا)
ملاحظة مهمة

تأكد من أن كلاً من Runtime Audio Importer و Sound Wave لا يتم جمعها كقمامة قبل الأوان عن طريق الحفاظ على مرجع قوي لها، والذي يمكن القيام به عن طريق تعيينها لمتغيرات منفصلة باستخدام UPROPERTY()، أو TStrongObjectPtr، أو أي طريقة أخرى تمنع تدمير الكائن.

تنسيقات الصوت المدعومة

يدعم Runtime Audio Importer استيراد تنسيقات الصوت التالية:

التنسيقالوصف
MP3MPEG-1/2/2.5 Audio Layer I/II/III
WAVتنسيق ملف الصوت Waveform
FLACترميز الصوت الخالي من الفقدان
OGG VORBISحاوية Ogg مع صوت Vorbis
OGG OPUSحاوية Ogg مع صوت Opus
BINKصوت Bink
RAW (PCM)بيانات صوت PCM غير مضغوطة (Int8, UInt8, Int16, UInt16, Int32, UInt32, Float32)
تلميح

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

استيراد الصوت المتدفق

بالنسبة لسيناريوهات التدفق حيث يتم استقبال بيانات الصوت بشكل تدريجي (مثل الخادم، أو التسجيل في الوقت الحقيقي، أو تدفقات الشبكة)، فكر في استخدام Streaming Sound Waves.

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

خطوات التنفيذ الأساسية

1. إنشاء Runtime Audio Importer

أولاً، تحتاج إلى إنشاء كائن Runtime Audio Importer. يجب التأكد من معاملته كمرجع قوي بواسطة جامع القمامة.

عقدة إنشاء Runtime Audio Importer

2. الربط مع مندوب OnProgress

لتتبع تقدم استيراد بيانات الصوت، يمكنك الربط مع المندوب OnProgress (بلوبرينتس) / OnProgressNative (++C).

مثال على الربط مع مندوب On Progress

:::نصيحة هذا سيسمح لك بمراقبة التقدم، وعلى سبيل المثال، تنفيذ شاشة تحميل. :::

3. الربط مع مندوب OnResult

لإشعارك عند اكتمال عملية استيراد بيانات الصوت وللوصول إلى المرجع لموجة الصوت الناتجة، يجب عليك الربط مع مندوب OnResult (بلوبرينتس) / OnResultNative (++C).

مثال على الربط مع مندوب On Result

warning

تأكد من معاملة موجة الصوت المستوردة كمرجع قوي بواسطة جامع القمامة لمنع حذفها المبكر غير المرغوب فيه. يمكن القيام بذلك عن طريق وضعها كمتغير منفصل في Blueprints.

4. بدء استيراد الصوت

ابدأ عملية استيراد الصوت عن طريق استدعاء الوظيفة ذات الصلة، والتي يمكنها التعامل مع كل من تنسيقات بيانات الصوت المضغوطة وغير المضغوطة.

أمثلة عقد استيراد الصوت

وظائف الأدوات المساعدة

البحث عن ملفات الصوت

يمكنك مسح مجلد للبحث عن ملفات الصوت المدعومة:

Scan Directory For Audio Files node

مثال كامل

إليك مثال تنفيذي كامل لاستيراد الصوت:

مثال كامل