HU/getSoundFFTData

From Multi Theft Auto: Wiki
Jump to: navigation, search

Ez a funkció megkapja a gyors Fourier transzformációt, és létrehoz egy táblázatot az aktuális audiokeret összes frekvenciájáról, amely a spektrum mélyhangján kezdődik, majd halad a középtől a magas értékekig. Ez lehetővé teszi például a vizualizálást.

Szintaxis

table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )

OOP Syntax Help! I don't understand this!

Method: sound:getFFTData(...)

Kötelező Argumentumok

  • sound: egy hangelem, amelyet a playSound vagy a playSound3D segítségével hoztak létre. Valamint a stream is támogatott.
  • iSamples: megengedett minták 256, 512, 1024, 2048, 4096, 8192 és 16384.

Tetszőleges Argumentumok

  • iBands: Az utófeldolgozási opció lehetővé teszi, hogy a mintákat a kívánt sávok vagy rácsok mennyiségére szétválasszuk, így, ha csak 5 rácsra van szükséged, akkor egy csomó CPU erőforrást takarítasz meg.

Visszaadott érték

Vissza adja az iSamples/2 tábla értékét (vagy iBands ha iBands használatban van) floats amely az aktuális audiokeretet képviseli. False értéked ad vissza, ha a hang még nincs lejátszva, vagy stream esetén tárolva.

Példa

Click to collapse [-]
Client
soundHandler = playSound ( "sound.wav" )

function onSoundPlayRender ( )
    if ( soundHandler ) then
        local soundFFT = getSoundFFTData ( soundHandler, 2048, 256 )
	if ( soundFFT ) then
            for i = 0, 255 do -- Data starts from index 0
                dxDrawRectangle ( i, 0, 1, math.sqrt ( soundFFT[i] ) * 256 )
            end
        end
    end
end
addEventHandler ( "onClientRender", getRootElement(), onSoundPlayRender )

Changelog

Version Description
1.3.2 Added player element to use a players voice

Lásd még

Fordította

2018.07.11. Surge