Ana içeriğe geç

Ses İçeri Aktarma

Genel Bakış

Çalışma zamanında ses içeri aktarma işlemi birkaç adıma ayrılabilir:

  1. Bir Çalışma Zamanı Ses İçeri Aktarıcı oluştur
  2. Gerekli temsilcilere bağlan (OnProgress ve OnResult)
  3. Bir dosyadan veya tampondan ses içeri aktar
  4. OnResult temsilcisinden elde edilen içeri aktarılmış ses dalgasını çal (daha fazla bilgi burada)
Önemli Not

Hem Runtime Audio Importer hem de Sound Wave örneklerinin erken çöp toplama tarafından temizlenmemesini sağlamak için, onlara UPROPERTY(), TStrongObjectPtr kullanarak veya nesnenin yok edilmesini engelleyen herhangi başka bir yöntemle ayrı değişkenlere atayarak sabit bir referans tutun.

Desteklenen Ses Formatları

Runtime Audio Importer aşağıdaki ses formatlarını içeri aktarmayı destekler:

FormatAçıklama
MP3MPEG-1/2/2.5 Audio Layer I/II/III
WAVWaveform Audio File Format
FLACFree Lossless Audio Codec
OGG VORBISVorbis sesli Ogg konteyneri
OGG OPUSOpus sesli Ogg konteyneri
BINKBink Audio
RAW (PCM)Sıkıştırılmamış Pulse-Code Modulation ses verisi (Int8, UInt8, Int16, UInt16, Int32, UInt32, Float32)
ipucu

Ses içeri aktarırken, formatı açıkça belirtebilir veya dosya uzantısına veya içeriğe dayalı otomatik format tespiti kullanabilirsiniz.

Akış Ses İçeri Aktarmaları

Ses verilerinin artımlı olarak alındığı akış senaryoları için (örneğin, bir sunucudan, gerçek zamanlı yakalamadan veya ağ akışlarından), Streaming Sound Waves kullanmayı düşünün.

Bu yöntem, ses verilerini aynı ses dalgasının tamponuna sürekli olarak eklemenin sürekli bir yolunu sağlar, bu da onu canlı yayınlar veya parçalar halinde işlenen büyük dosyalar için uygun hale getirir. Daha fazla ayrıntı için Streaming Sound Wave belgelerine bakın.

Temel Uygulama Adımları

1. Runtime Audio Importer Oluştur

İlk olarak, bir Runtime Audio Importer nesnesi oluşturmanız gerekir. Çöp toplayıcı tarafından güçlü bir referans olarak ele alındığından emin olmalısınız.

Create Runtime Audio Importer düğümü

2. OnProgress Temsilcisine Bağlanma

Ses verilerini içe aktarma ilerlemesini takip etmek için, OnProgress (Blueprint'ler) / OnProgressNative (C++) temsilcisine bağlanabilirsiniz.

On Progress temsilcisine bağlanma örneği

ipucu

Bu, ilerlemeyi izlemenize ve örneğin bir yükleme ekranı uygulamanıza olanak tanır.

3. OnResult Temsilcisine Bağlanma

Ses verisi içe aktarma işlemi tamamlandığında bildirim almak ve ortaya çıkan ses dalgasının referansına erişmek için, OnResult (Blueprints) / OnResultNative (C++) temsilcisine bağlanmalısınız.

On Result temsilcisine bağlanma örneği

uyarı

Garbage collector tarafından içe aktarılan ses dalgasının istenmeyen erken garbage collection'ı önlemek için güçlü bir referans olarak ele alındığından emin olun. Bu, Blueprints'te ayrı bir değişken olarak yerleştirilerek yapılabilir.

4. Ses İçe Aktarmayı Başlat

İlgili fonksiyonu çağırarak ses içe aktarma işlemini başlatın, bu fonksiyon hem sıkıştırılmış hem de sıkıştırılmamış ses veri formatlarını işleyebilir.

Ses içe aktarma düğüm örnekleri

Utility Fonksiyonları

Ses Dosyalarını Bulma

Desteklenen ses dosyalarını taramak için bir dizin tarayabilirsiniz:

Scan Directory For Audio Files node

Tam Örnek

İşte ses içe aktarma için tam bir uygulama örneği:

Tam örnek