Ses Çal
Temel Çalma
İçe aktarılmış bir ses dalgasını çalmak için, normal bir ses dalgası için kullanacağınız aynı işlevleri kullanın. Örneğin, PlaySound2D işlevini veya Sound Cue gibi bir ses bileşeninden Play işlevini kullanın.

Çalmayı Kontrol Etme
Çalma Süresini Geri Sarma
Ses dalgasının çalma süresini geri sarmak için RewindPlaybackTime işlevini kullanın.
- 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);
UE 4.27 ve önceki sürümlerde, 0'dan büyük belirli bir zamandan oynatmayı başlatmak istiyorsanız, öncesinde RewindPlaybackTime işlevini kullanmanız gerekebilir. Aksi takdirde, motorun prosedürel dalgaları işlemedeki dahili sorunları nedeniyle ses doğru şekilde oynatılmayabilir. Bu sorun motorun 5.0 sürümünden itibaren çözülmüştür.
Oynatma Bilgilerini Alma
Ses dalgasının mevcut oynatma zamanını almak için GetPlaybackTime veya GetPlaybackPercentage işlevlerini kullanın. Ayrıca ses dalgasının süresini GetDuration işlevini kullanarak da elde edebilirsiniz.
- 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();
Oynatma Durumunu Kontrol Etme
Şu Anda Oynatılıyor mu
Ses dalgasının şu anda oynatılıp oynatılmadığını belirlemek için IsPlaying fonksiyonunu kullanabilirsiniz.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Check if the sound wave is currently playing
bool bIsPlaying = ImportedSoundWave->IsPlaying();
Oynatma Tamamlandı mı?
Ses dalgasının oynatmayı tamamlayıp tamamlamadığını kontrol etmek için IsPlaybackFinished fonksiyonunu kullanabilirsiniz.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Check if the sound wave has finished playback
bool bIsFinished = ImportedSoundWave->IsPlaybackFinished();
Oynatmayı Durdurma
Ses dalgası oynatmayı StopPlayback fonksiyonunu kullanarak durdurabilirsiniz.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
// Stop the playback of the sound wave
ImportedSoundWave->StopPlayback();
Genellikle, ses dalgası oynatımını harici yollarla durdurmanız (örneğin, ses bileşeninde Stop'u çağırarak) ve harici yollar mevcut değilse bu işlevi kullanmanız önerilir. Ayrıca, bu işlevin MetaSounds'tan oynatım için çalışmadığını unutmayın.
Olay İşleme
Oynatım Tamamlanmasını İzleme
Ses oynatımının sonunu izlemek için, OnAudioPlaybackFinished temsilcisine bağlanın.
- 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);
}
};
Bellek Yönetimi
Belleği Serbest Bırakma
Ses verilerini ReleaseMemory işlevini kullanarak manuel olarak temizleyebilirsiniz.
- Blueprint
- C++

// Release memory of the sound wave
ImportedSoundWave->ReleaseMemory();
Manuel bellek serbest bırakma, belirli bellek yönetimi gereksinimleriniz yoksa veya çöp toplayıcıyı devre dışı bırakmadıysanız önerilmez.