Eigenschaften von Sound Waves
Zugriff auf Audiodaten
Abrufen des PCM-Puffers
Sie können den gesamten PCM-Puffer direkt von einer Sound Wave abrufen.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
Wenn Sie die erhaltenen PCM-Daten in Bytes umwandeln müssen, siehe Float-Array in Bytes.
Wiedergabeeigenschaften
Looping
Um eine nahtlose Audiowiederholung zu erstellen, können Sie das Looping so einstellen, dass die Wiedergabezeit der Soundwelle nach dem Ende der Wiedergabe automatisch auf Null zurückgesetzt und erneut abgespielt wird.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
Lautstärkeregelung
Sie können die Lautstärke des abgespielten Tons nach Ihren Bedürfnissen anpassen.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
Tonhöhenanpassung
Sie können die Tonhöhe des abgespielten Klangs nach Ihren Vorlieben anpassen.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
Zusätzliche Funktionen
Untertitel
Sie können Untertitel festlegen, d. h. den Text und den Zeitpunkt definieren, zu dem sie angezeigt werden sollen.
- 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);
Virtualisierungsmodus
Sie können den Virtualisierungsmodus festlegen, wie z.B. Play When Silent, der es der Schallwelle ermöglicht, die Wiedergabe auch während Stille fortzusetzen.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
Dies ist besonders hilfreich, wenn Sie Schalldämpfung verwenden, um zu steuern, wie Audio mit der Entfernung abklingt.
Ambisonics
Sie können eine Schallwelle als Ambisonics-Quelle für 3D-Raumklang-Codierung markieren. Die Audio-Engine unterstützt nur Ambisonics erster Ordnung (First-Order Ambisonics, FOA), was genau 4 Kanäle erfordert.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetIsAmbisonics(true);
Audio-Format-Modifikationen
Manuelles Resampling und Kanalmischung
Wenn Sie die Abtastrate oder die Anzahl der Kanäle in der importierten Schallwelle ändern müssen, können Sie die entsprechenden Funktionen verwenden, um die Audiodaten neu abzutasten und zu mischen.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
Dies wird die gesamten Schallwellendaten modifizieren und die Ausgabe der Delegaten OnGeneratePCMData und OnPopulateAudioData entsprechend beeinflussen.
Automatische Formatkonvertierung
Sie können alle anstehenden Audiodaten, die aufgefüllt werden sollen, automatisch neu abtasten und auf die angegebene gewünschte Abtastrate und Anzahl der Kanäle mischen.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
Dies wirkt sich entsprechend auch auf die Ausgabe der Delegaten OnGeneratePCMData und OnPopulateAudioData aus.