Ana içeriğe geç

Ses Çal

Temel Oynatma​

İçe aktarılan bir ses dalgasını oynatmak için, normal bir ses dalgasında kullanacağınız aynı fonksiyonları kullanın. Örneğin, Sound Cue gibi bir ses bileşeninden PlaySound2D veya Play fonksiyonunu kullanın.

Various examples of playing a sound wave

Oynatmayı Kontrol Etme​

Oynatma Zamanını Geri Sarma​

Ses dalgasının oynatma süresini geri sarmak için RewindPlaybackTime fonksiyonunu kullanın.

An example of rewinding playback of a sound wave for 12.5 seconds

not

UE 4.27'ye kadar olan sürümlerde, oynatmayı 0'dan büyük belirli bir zamandan başlatmak istiyorsanız, öncesinde RewindPlaybackTime fonksiyonunu kullanmanız gerekebilir. Aksi takdirde, motorun prosedürel dalgaları işlemesindeki dahili sorunlar nedeniyle ses doğru şekilde oynatılamayabilir. Bu sorun, motorun 5.0 sürümünden itibaren giderilmiştir.

Oynatma Bilgilerini Alma​

Ses dalgasının geçerli oynatma süresini almak için GetPlaybackTime veya GetPlaybackPercentage işlevlerini kullanın. Ses dalgasının süresini GetDuration işlevini kullanarak da elde edebilirsiniz.

Get Playback Time and Get Playback Percentage nodes

Oynatma Durumunu Kontrol Etme​

Şu Anda Oynatılıyor​

Ses dalgasının şu anda çalıp çalmadığını belirlemek için IsPlaying fonksiyonunu kullanabilirsiniz.

Is Playing node

Oynatma Tamamlandı mı​

Ses dalgasının çalmayı bitirip bitirmediğini kontrol etmek için IsPlaybackFinished fonksiyonunu kullanabilirsiniz.

Is Playback Finished node

Oynatmayı Durdurma​

Ses dalgası oynatımını StopPlayback fonksiyonunu kullanarak durdurabilirsiniz.

Stop Playback node

bilgi

Ses dalgası oynatımını genellikle harici yollarla (örneğin, ses bileşeni üzerinde Stop çağırarak) durdurmanız önerilir ve harici yollar mevcut değilse bu işlevi kullanın. Ayrıca, bu işlevin MetaSounds'tan oynatım için çalışmadığını unutmayın.

Olay İşleme​

Oynatma Tamamlanmasını İzleme​

Ses oynatmanın sonunu takip etmek için OnAudioPlaybackFinished delegesine bağlanın.

An example of binding to the OnAudioPlaybackFinished delegate

Bellek Yönetimi​

Belleği Serbest Bırakma​

ReleaseMemory fonksiyonunu kullanarak ses verilerini manuel olarak temizleyebilirsiniz.

Release Memory node

uyarı

Manuel bellek serbest bırakma, belirli bellek yönetimi gereksinimleriniz olmadığı veya çöp toplayıcıyı devre dışı bırakmadığınız sürece önerilmez.

Çalınan Ses Verilerini Serbest Bırakma​

Çalma sırasında ses arabelleğinin zaten çalınmış kısmını otomatik olarak serbest bırakmak için, serbest bırakma ayarlarını SetPlayedAudioDataReleaseSettings fonksiyonunu kullanarak yapılandırın.

Set Played Audio Data Release Settings node

  • bReleasePlayedAudioData - serbest bırakmanın etkin olup olmadığı. Varsayılan olarak devre dışı
  • ReleaseCallbackFrequency - serbest bırakma kontrolleri arasındaki ses üretim isteği sayısı (OnGeneratePCMAudio çağrıları)
  • MinFramesToRelease - bir serbest bırakmayı tetiklemek için gereken minimum çalınan kare sayısı
uyarı

Bunun etkinleştirilmesi, zaten serbest bırakılmış noktadan önce geri sarma/ileri atlama işlemini sınırlar; çünkü o ses verisi fiziksel olarak serbest bırakılmıştır ve artık oynatılamaz.