HU/getSoundFFTData: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 7: Line 7:
<syntaxhighlight lang="lua">table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )</syntaxhighlight>  
<syntaxhighlight lang="lua">table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )</syntaxhighlight>  
{{OOP||[[sound]]:getFFTData}}
{{OOP||[[sound]]:getFFTData}}
===Required Arguments===  
===Kötelező Argumentumok===  
*'''sound:''' a sound element that is created using [[playSound]] or [[playSound3D]]. Streams are also supported
*'''sound:''' a sound element that is created using [[playSound]] or [[playSound3D]]. Valamint a stream is támogatott.
*'''iSamples:''' allowed samples are 256, 512, 1024, 2048, 4096, 8192 and 16384.
*'''iSamples:''' megengedett minták 256, 512, 1024, 2048, 4096, 8192 és 16384.


===Optional Arguments===
===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:''' 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.


===Returns===
===Vissza adott érték===
Returns a table of '''iSamples'''/2 (or '''iBands''' if '''iBands''' is used) ''floats'' representing the current audio frame.
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
Returns ''false'' if the sound is not playing yet or hasn't buffered in the

Revision as of 14:23, 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: a sound element that is created using playSound or playSound3D. Valamint a stream is támogatott.
  • iSamples: megengedett minták 256, 512, 1024, 2048, 4096, 8192 és 16384.

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.

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.

Example

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