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

Çalmayı Kontrol Etme
Çalma Zamanını Geri Sarma
Ses dalgasının çalma zamanını geri sarmak için RewindPlaybackTime fonksiyonunu 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'ye kadar olan sürümlerde, 0'dan büyük belirli bir zamandan oluşturma başlatmak istiyorsanız, öncesinde RewindPlaybackTime işlevini kullanmanız gerekebilir. Aksi takdirde, prosedürel dalgaları işleyen dahili motor 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 GetDuration işlevini kullanarak ses dalgasının süresini de 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 işlevini 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 durdurmak (örneğin, ses bileşeninde Stop'u çağırarak) ve harici yollar mevcut değilse bu işlevi kullanmak ö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.