PT-BR/getSoundFFTData: Difference between revisions
(Created page with "__NOTOC__ {{BR/Funcao cliente}} Essa função obtém os dados de Transformada Rápida de Fourier de uma stream de áudio ao qual é uma tabela representando o quad...") |
mNo edit summary |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{BR/ | {{PT-BR/Client_function}} | ||
Essa função obtém os dados de Transformada Rápida de Fourier de uma stream de áudio ao qual é uma [[table|tabela]] representando o quadro atual do áudio. Essa função permite a visualização do áudio. | Essa função obtém os dados de Transformada Rápida de Fourier de uma stream de áudio ao qual é uma [[table|tabela]] representando o quadro atual do áudio. Essa função permite a visualização do áudio. | ||
Line 9: | Line 8: | ||
==Sintaxe== | ==Sintaxe== | ||
<syntaxhighlight lang="lua">table getSoundFFTData ( element audio, int | <syntaxhighlight lang="lua">table getSoundFFTData ( element audio, int amostras [, int barras = 0 ] )</syntaxhighlight> | ||
{{BR/OOP||[[sound|audio]]:getFFTData}} | {{BR/OOP||[[sound|audio]]:getFFTData}} | ||
Line 15: | Line 14: | ||
===Argumentos necessários=== | ===Argumentos necessários=== | ||
*'''audio:''' um elemento de [[sound|áudio]] criado usando [[playSound]] ou [[playSound3D]]. Streams também são suportadas. | *'''audio:''' um elemento de [[sound|áudio]] criado usando [[playSound]] ou [[playSound3D]]. Streams também são suportadas. | ||
*''' | *'''amostras:''' amostras permitidos são: 256, 512, 1024, 2048, 4096, 8192 and 16384. | ||
===Argumentos opicionais=== | ===Argumentos opicionais=== | ||
*''' | *'''barras:''' uma opção de pós-processamento que te permite separar as amostras na quantidade de bandas ou barras desejadas. Se você precisa apenas de cinco barras, utilizar esse argumento economiza bastante poder de processamento se comparado à tentativa de fazer isso em Lua. | ||
===Retorno=== | ===Retorno=== | ||
Retorna uma [[table|tabela]] de ''' | Retorna uma [[table|tabela]] de '''amostras'''/2 (ou dividido por '''barras''' caso '''barras''' 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== | ==Exemplo== | ||
Line 47: | Line 46: | ||
==Veja também== | ==Veja também== | ||
{{ | {{PT-BR/Funcoes_audio_client}} | ||
[[EN:getSoundFFTData]] | [[EN:getSoundFFTData]] |
Latest revision as of 20:07, 1 April 2023
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 amostras [, int barras = 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.
- amostras: amostras permitidos são: 256, 512, 1024, 2048, 4096, 8192 and 16384.
Argumentos opicionais
- barras: uma opção de pós-processamento que te permite separar as amostras na quantidade de bandas ou barras desejadas. Se você precisa apenas de cinco barras, utilizar esse argumento economiza bastante poder de processamento se comparado à tentativa de fazer isso em Lua.
Retorno
Retorna uma tabela de amostras/2 (ou dividido por barras caso barras 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
- getSoundEffectParameters
- getSoundFFTData
- getSoundLength
- getSoundLevelData
- getSoundMaxDistance
- getSoundMetaTags
- getSoundMinDistance
- getSoundPan
- getSoundPosition
- getSoundProperties
- getSoundSpeed
- getSoundVolume
- getSoundWaveData