HU/getSoundFFTData

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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