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
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
Diğer değerler -1 ile 1 aralığına geri dönecek ve temel olarak kırpılacaktır.
-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