PT-BR/getSoundFFTData
Essa função obtém os dados de Transformada Rápida de Fourier de uma stream de áudio ao qual é uma tabela representando o quadro atual do áudio. Essa função permite a visualização do áudio.
O algorítmo de Transformada Rápida de Fourier gera uma tabela com todas as frequências do quadro atual do áudio começando pelos graves, depois médios e então agudos. Se você tiver algum problema verifique o exemplo localizado no repositório de resources do MTA: Visualizador de áudio.
Basta digitar "startmusic <url-da-stream>" no console e a visualização da música será reproduzida no outdoor do cinema proximo à Area 69. Se o elemento que executar esse comando for um jogador, então essa função usará seu microfone para criar a visualização da stream de áudio.
Sintaxe
table getSoundFFTData ( element audio, int samples [, int bandas = 0 ] )
Sintaxe POO(OOP) Não entendeu o que significa isso?
- Método: audio:getFFTData(...)
Argumentos necessários
- audio: um elemento de áudio criado usando playSound ou playSound3D. Streams também são suportadas.
- samples: samples permitidos são: 256, 512, 1024, 2048, 4096, 8192 and 16384.
Argumentos opicionais
- bandas: uma opção de pós-processamento que te permite separar os samples na quantidade de bandas ou barras desejadas. Se você precisa apenas de cinco bandas, utilizar esse argumento economiza bastante poder de processamento se comparado à tentativa de fazer isso em Lua.
Retorno
Retorna uma tabela de samples/2 (ou dividido por bandas caso bandas forem usadas) floats representando o quadro atual do áudio. Retorna false se o áudio ainda não está sendo reproduzido ou ainda não foi carregado no caso de streams.
Exemplo
local audio = playSound ( "audio.wav" ) function onSoundPlayRender ( ) if ( audio ) then local audioFFT = getSoundFFTData ( audio, 2048, 256 ) if ( audioFFT ) then for i = 0, 255 do -- Os dados começam no índice 0 dxDrawRectangle ( i, 0, 1, math.sqrt ( audioFFT[i] ) * 256 ) end end end end addEventHandler ( "onClientRender", root, onSoundPlayRender )
Changelog
Version | Description |
---|
1.3.2 | Added player element to use a players voice |
Veja também
- getRadioChannel
- getRadioChannelName
- getSFXStatus
- getSoundBPM
- getSoundBufferLength
- getSoundEffectParameters
- getSoundEffects
- getSoundFFTData
- getSoundLength
- getSoundLevelData
- getSoundMaxDistance
- getSoundMetaTags
- getSoundMinDistance
- getSoundPan
- getSoundPosition
- getSoundProperties
- getSoundSpeed
- getSoundVolume
- getSoundWaveData
- isSoundLooped
- isSoundPanningEnabled
- isSoundPaused
- playSFX3D
- playSFX
- playSound3D
- playSound
- setRadioChannel
- setSoundEffectEnabled
- setSoundEffectParameter
- setSoundLooped
- setSoundMaxDistance
- setSoundMinDistance
- setSoundPan
- setSoundPanningEnabled
- setSoundPaused
- setSoundPosition
- setSoundProperties
- setSoundSpeed
- setSoundVolume
- stopSound
- Shared
- playSoundFrontEnd