HU/getSoundFFTData: Difference between revisions

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


===Vissza adott érték===
===Vissza adott érték===
Returns a table of '''iSamples'''/2 (or '''iBands''' if '''iBands''' is used) ''floats'' representing the current audio frame.
Vissza adja a '''iSamples'''/2 tábla értékét (vagy '''iBands''' ha '''iBands''' használatban van) ''floats'' amely az aktuális audiokeretet képviseli.
Returns ''false'' if the sound is not playing yet or hasn't buffered in the
''false'' értéked ad vissza, ha if the sound is not playing yet or hasn't buffered in the
case of streams.
case of streams.



Revision as of 14:48, 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

Vissza adja a 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 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