sound.Generate

  sound.Generate( string identifier, number samplerate, number length, function callbackOrData, number loopStart = nil )

Açıklama

Bir fonksiyondan bir ses oluşturur.

Argümanlar

1 string identifier
Ses için benzersiz bir tanımlayıcı.
Halihazırda var olanların üzerine yazılamaz.
2 number samplerate
Sesin örnekleme oranı. 11025, 22050 veya 44100 olmalıdır.
3 number length
Oluşturulacak sesin saniye cinsinden uzunluğu.
4 function or table callbackOrData
Sesteki her bir örneği oluşturmak için çağrılacak bir fonksiyon.
Fonksiyon argüman(lar)ı:
1 number sampleIndex - Mevcut örnek numarası.
Fonksiyon dönüş değeri/değerleri:
1 number sampleValue - Dönüş değeri -1.0 ile 1.0 arasında olmalıdır.
Diğer değerler -1 ile 1 aralığına geri dönecek ve temel olarak kırpılacaktır.
-1 ile 1 arasında 65535 olası ölçülebilir değer vardır.

Bu argümana, değerlerin -1 ile 1 arasında olması gereken bir örnekler tablosu da verilebilir.
Bu argüman ayrıca ham 16 bitlik ikili veri dizesi de olabilir (her örnek işaretsiz kısa (unsigned short) değerindedir).

5 number loopStart = nil
Döngü başlangıcının örnek ID'si. Eğer verilirse, ses döngüye girecek ve sonuna ulaştıktan sonra verilen konumdan yeniden çalmaya başlayacaktır.

Örnek

Maksimum ses seviyesinde 2000 Hz'lik bir sinüs dalgası çalar.

local frequency = 2000 -- Hz local samplerate = 44100 local function data( t ) return math.sin( t * math.pi * 2 / samplerate * frequency ) end test_sound_id = test_sound_id and test_sound_id + 1 or 10 sound.Generate( "testgen" .. test_sound_id, samplerate, 2, data ) surface.PlaySound( "testgen" .. test_sound_id )

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord