HU/getSoundFFTData: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
Line 12: Line 12:


===Tetszőleges Argumentumok===
===Tetszőleges Argumentumok===
*'''iBands:''' post processing option allows you to split the samples into the desired amount of bands or bars so if you only need 5 bars this saves a lot of cpu power compared to trying to do it in Lua.
*'''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.


===Vissza adott érték===
===Vissza adott érték===

Revision as of 14:40, 17 July 2018

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.

Vissza adott érték

Returns a table of iSamples/2 (or iBands if iBands is used) floats representing the current audio frame. Returns false if the sound is not playing yet or hasn't buffered in the case of streams.

Pédául

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

See Also