Audio abspielen
Grundlegende Wiedergabe
Um eine importierte Sound Wave abzuspielen, verwenden Sie dieselben Funktionen wie für eine reguläre. Verwenden Sie beispielsweise die Funktion PlaySound2D oder die Play-Funktion von einer Audio-Komponente wie Sound Cue.

Wiedergabe steuern
Wiedergabezeit zurückspulen
Um die Wiedergabezeit der Sound Wave zurückzuspulen, verwenden Sie die Funktion RewindPlaybackTime.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Rewind playback time of the sound wave for 12.5 seconds
ImportedSoundWave->RewindPlaybackTime(12.5f);
In UE-Versionen bis einschließlich 4.27 müssen Sie möglicherweise die Funktion RewindPlaybackTime verwenden, wenn Sie die Wiedergabe von einem bestimmten Zeitpunkt größer als 0 starten möchten. Andernfalls wird der Sound möglicherweise aufgrund interner Engine-Probleme bei der Handhabung prozeduraler Wellenformen nicht korrekt abgespielt. Dieses Problem wurde in der Engine seit Version 5.0 behoben.
Abrufen von Wiedergabeinformationen
Um die aktuelle Abspielzeit der Soundwelle zu erhalten, verwenden Sie die Funktionen GetPlaybackTime oder GetPlaybackPercentage. Sie können auch die Dauer der Soundwelle mithilfe der Funktion GetDuration abrufen.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Get the current playback time of the sound wave
float PlaybackTime = ImportedSoundWave->GetPlaybackTime();
// Get the current playback percentage of the sound wave
float PlaybackPercentage = ImportedSoundWave->GetPlaybackPercentage();
// Get the duration of the sound wave
float Duration = ImportedSoundWave->GetDuration();
Wiedergabestatus überprüfen
Wird aktuell abgespielt
Um festzustellen, ob die Schallwelle gerade abgespielt wird, können Sie die Funktion IsPlaying verwenden.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Check if the sound wave is currently playing
bool bIsPlaying = ImportedSoundWave->IsPlaying();
Ist die Wiedergabe beendet?
Um zu überprüfen, ob die Schallwelle die Wiedergabe beendet hat, können Sie die Funktion IsPlaybackFinished verwenden.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Check if the sound wave has finished playback
bool bIsFinished = ImportedSoundWave->IsPlaybackFinished();
Wiedergabe stoppen
Sie können die Wiedergabe der Schallwelle stoppen, indem Sie die Funktion StopPlayback verwenden.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Stop the playback of the sound wave
ImportedSoundWave->StopPlayback();
Es wird im Allgemeinen empfohlen, die Wiedergabe der Schallwelle mit externen Mitteln zu stoppen (z. B. durch Aufruf von Stop auf der Audio-Komponente) und diese Funktion nur zu verwenden, wenn externe Mittel nicht verfügbar sind. Beachten Sie außerdem, dass diese Funktion nicht für die Wiedergabe von MetaSounds funktioniert.
Ereignisbehandlung
Verfolgen des Wiedergabeabschlusses
Um das Ende der Audiowiedergabe zu verfolgen, binden Sie an den Delegaten OnAudioPlaybackFinished.
- Blueprint
- C++

UCLASS()
class AMyAudioPlayer : public AActor
{
GENERATED_BODY()
public:
UFUNCTION()
void OnAudioFinished()
{
// Handle the end of audio playback
}
void BindAudioDelegate(UImportedSoundWave* ImportedSoundWave)
{
// Bind to the OnAudioPlaybackFinished delegate
ImportedSoundWave->OnAudioPlaybackFinished.AddDynamic(this, &AMyAudioPlayer::OnAudioFinished);
}
};
Speicherverwaltung
Speicher freigeben
Sie können die Audiodaten manuell mit der Funktion ReleaseMemory löschen.
- Blueprint
- C++

// Release memory of the sound wave
ImportedSoundWave->ReleaseMemory();
Eine manuelle Speicherfreigabe wird nicht empfohlen, es sei denn, Sie haben spezifische Anforderungen an die Speicherverwaltung oder haben den Garbage Collector deaktiviert.