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

Wiedergabe steuern
Wiedergabezeit zurückspulen
Um die Wiedergabezeit der Soundwelle 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);
Dans les versions d'UE jusqu'à la 4.27, si vous souhaitez démarrer la lecture à partir d'un temps spécifique supérieur à 0, vous devrez peut-être utiliser la fonction RewindPlaybackTime au préalable. Sinon, le son risque de ne pas être lu correctement en raison de problèmes internes du moteur dans la gestion des ondes procédurales. Ce problème a été résolu dans le moteur depuis la version 5.0.
Obtenir les informations de lecture
Pour obtenir le temps de lecture actuel de l'onde sonore, utilisez les fonctions GetPlaybackTime ou GetPlaybackPercentage. Vous pouvez également obtenir la durée de l'onde sonore en utilisant la fonction GetDuration.
- 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();
Überprüfung des Wiedergabestatus
Wird aktuell wiedergegeben
Um festzustellen, ob die Soundwelle gerade wiedergegeben 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();
La lecture est-elle terminée
Pour vérifier si la forme d'onde sonore a fini de jouer, vous pouvez utiliser la fonction IsPlaybackFinished.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Check if the sound wave has finished playback
bool bIsFinished = ImportedSoundWave->IsPlaybackFinished();
Arrêt de la lecture
Vous pouvez arrêter la lecture de la forme d'onde sonore en utilisant la fonction StopPlayback.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Stop the playback of the sound wave
ImportedSoundWave->StopPlayback();
Il est généralement recommandé d'arrêter la lecture de l'onde sonore par des moyens externes (par exemple, en appelant Stop sur le composant audio) et d'utiliser cette fonction uniquement si les moyens externes ne sont pas disponibles. Notez également que cette fonction ne fonctionne pas pour la lecture à partir de MetaSounds.
Gestion des événements
Suivi de l'achèvement de la lecture
Pour suivre la fin de la lecture audio, liez-vous au délégué 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);
}
};
Gestion de la mémoire
Libération de la mémoire
Vous pouvez effacer manuellement les données audio en utilisant la fonction ReleaseMemory.
- Blueprint
- C++

// Release memory of the sound wave
ImportedSoundWave->ReleaseMemory();
La libération manuelle de la mémoire n'est pas recommandée, sauf si vous avez des exigences spécifiques de gestion de la mémoire ou si vous avez désactivé le ramasse-miettes.