خصائص الموجة الصوتية
الوصول إلى بيانات الصوت
استرجاع مخزن PCM
يمكنك استرجاع مخزن PCM بالكامل من موجة صوتية مباشرة.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
إذا كنت بحاجة إلى تحويل بيانات PCM التي تم الحصول عليها إلى بايت، راجع تحويل مصفوفة الفاصلة العائمة إلى بايت.
خصائص التشغيل
التكرار
لإنشاء حلقة صوتية سلسة، يمكنك ضبط خاصية التكرار لإعادة تشغيل موجة الصوت تلقائيًا إلى الوقت صفر والعودة للتشغيل بعد انتهاء التشغيل.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
التحكم في مستوى الصوت
يمكنك ضبط مستوى الصوت الذي يتم تشغيله ليناسب احتياجاتك.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
تعديل النغمة
يمكنك تعديل نغمة الصوت الذي يتم تشغيله وفقًا لتفضيلاتك.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
ميزات إضافية
الترجمة النصية (Subtitles)
يمكنك تعيين الترجمات النصية، أي تحديد النص والوقت الذي يجب أن يظهر فيه.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<FEditableSubtitleCue> Subtitles;
FEditableSubtitleCue Subtitle;
Subtitle.Text = FText::FromString("Example");
Subtitle.Time = 2.0f;
Subtitles.Add(Subtitle);
ImportedSoundWave->SetSubtitles(Subtitles);
وضع المحاكاة الافتراضية
يمكنك تعيين وضع المحاكاة الافتراضية، مثل التشغيل عند الصمت، والذي يسمح لموجة الصوت بالاستمرار في التشغيل حتى خلال فترات الصمت.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
هذا مفيد بشكل خاص إذا كنت تستخدم التوهين الصوتي للتحكم في كيفية تلاشي الصوت مع المسافة.
الصوت المحيطي (Ambisonics)
يمكنك تعيين موجة صوتية كمصدر للصوت المحيطي (Ambisonics) لتشفير الصوت المكاني ثلاثي الأبعاد. يدعم محرك الصوت فقط الصوت المحيطي من الدرجة الأولى (FOA)، والذي يتطلب بالضبط 4 قنوات.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetIsAmbisonics(true);
تعديلات تنسيق الصوت
إعادة أخذ العينات يدويًا وخلط القنوات
إذا كنت بحاجة إلى تغيير معدل العينات أو عدد القنوات في موجة الصوت المستوردة، يمكنك استخدام الدوال المناسبة لإعادة أخذ عينات البيانات الصوتية وخلطها.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
سيؤدي هذا إلى تعديل بيانات موجة الصوت بالكامل وسيؤثر على الناتج من المفوضين OnGeneratePCMData و OnPopulateAudioData وفقًا لذلك.
التحويل التلقائي للتنسيق
يمكنك إعادة أخذ العينات ومزج جميع بيانات الصوت القادمة تلقائيًا لملئها بمعدل العينات المطلوب المحدد وعدد القنوات.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
سيؤثر هذا أيضًا على الإخراج من المفوضين OnGeneratePCMData و OnPopulateAudioData وفقًا لذلك.