Odtwarzanie dźwięku
Podstawowe odtwarzanie
Aby odtworzyć zaimportowaną falę dźwiękową, użyj tych samych funkcji, co dla zwykłej fali. Na przykład użyj funkcji PlaySound2D lub Play z komponentu audio, takiego jak Sound Cue.

Kontrola odtwarzania
Przewijanie czasu odtwarzania
Aby przewinąć czas odtwarzania fali dźwiękowej, użyj funkcji 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);
W wersjach UE do 4.27, jeśli chcesz rozpocząć odtwarzanie od określonego czasu większego niż 0, możesz potrzebować wcześniej użyć funkcji RewindPlaybackTime. W przeciwnym razie dźwięk może nie odtwarzać się poprawnie z powodu wewnętrznych problemów silnika z obsługą fal proceduralnych. Ten problem został rozwiązany w silniku od wersji 5.0.
Uzyskiwanie informacji o odtwarzaniu
Aby uzyskać aktualny czas odtwarzania fali dźwiękowej, użyj funkcji GetPlaybackTime lub GetPlaybackPercentage. Możesz również uzyskać czas trwania fali dźwiękowej za pomocą funkcji 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();
Sprawdzanie statusu odtwarzania
Czy obecnie odtwarza
Aby określić, czy fala dźwiękowa jest obecnie odtwarzana, możesz użyć funkcji IsPlaying.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Check if the sound wave is currently playing
bool bIsPlaying = ImportedSoundWave->IsPlaying();
Czy Odtwarzanie Zostało Zakończone
Aby sprawdzić, czy fala dźwiękowa zakończyła odtwarzanie, możesz użyć funkcji 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();
Zatrzymywanie Odtwarzania
Możesz zatrzymać odtwarzanie fali dźwiękowej za pomocą funkcji StopPlayback.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Stop the playback of the sound wave
ImportedSoundWave->StopPlayback();
Zaleca się zatrzymanie odtwarzania fali dźwiękowej za pomocą zewnętrznych środków (np. wywołując Stop na komponencie audio) i użycie tej funkcji tylko wtedy, gdy zewnętrzne środki nie są dostępne. Należy również zauważyć, że ta funkcja nie działa dla odtwarzania z MetaSounds.
Obsługa zdarzeń
Śledzenie zakończenia odtwarzania
Aby śledzić koniec odtwarzania audio, podłącz się do delegata 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);
}
};
Zarządzanie Pamięcią
Zwalnianie Pamięci
Możesz ręcznie wyczyścić dane audio za pomocą funkcji ReleaseMemory.
- Blueprint
- C++

// Release memory of the sound wave
ImportedSoundWave->ReleaseMemory();
Ręczne zwalnianie pamięci nie jest zalecane, chyba że masz określone wymagania dotyczące zarządzania pamięcią lub wyłączyłeś moduł odśmiecania pamięci (garbage collector).