Eigenschaften von Schallwellen
Zugriff auf Audiodaten
Abrufen des PCM-Puffers
Sie können den gesamten PCM-Puffer direkt aus einer Schallwelle 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 to Bytes.
Wiedergabeeigenschaften
Looping
Um eine nahtlose Audio-Schleife zu erstellen, können Sie Looping aktivieren, um die Wiedergabezeit der Soundwelle automatisch auf Null zurückzusetzen und nach dem Ende der Wiedergabe erneut abzuspielen.
- 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 Sounds nach Bedarf 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 Sounds 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, wodurch die Schallwelle auch während Stillephasen weiter abgespielt wird.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
Dies ist besonders hilfreich, wenn Sie Sound-Dämpfung verwenden, um zu steuern, wie Audio mit der Entfernung abklingt.
Audio-Format-Modifikationen
Manuelles Resampling und Kanal-Mixing
Wenn Sie die Abtastrate oder Anzahl der Kanäle in der importierten Soundwelle ä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 Sound-Wellen-Daten modifizieren und die Ausgabe der OnGeneratePCMData
und OnPopulateAudioData
Delegaten entsprechend beeinflussen.
Automatische Formatkonvertierung
Sie können alle anstehenden Audiodaten automatisch resamplen und mischen, um sie mit der angegebenen gewünschten Sample-Rate und Anzahl an Kanälen zu befüllen.
- 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 OnGeneratePCMData
- und OnPopulateAudioData
-Delegaten aus.