ES/getSoundFFTData: Difference between revisions
DiegoxxDDD (talk | contribs) No edit summary |
DiegoxxDDD (talk | contribs) No edit summary |
||
Line 40: | Line 40: | ||
for X = 0, 20 do -- Establecer que X vale de 0 a 20 (un numero para cada barra) simultaneamente | for X = 0, 20 do -- Establecer que X vale de 0 a 20 (un numero para cada barra) simultaneamente | ||
FFT [X] = math.sqrt (FFT [X]/6)*128 -- Ajustar las barras para que no se hagan muy largas | FFT [X] = math.sqrt (FFT [X]/6)*128 -- Ajustar las barras para que no se hagan muy largas | ||
if FFT [X] > 13 then FFT [X] = 13 end -- Limitar las barras a que se estiren mas de 13 pixeles | if FFT [X] > 13 then FFT [X] = 13 end -- Limitar las barras a que no se estiren mas de 13 pixeles | ||
if FFT [X] < 1 then FFT [X] = 1 end -- Establecer que minimo tengan un pixel de altura | if FFT [X] < 1 then FFT [X] = 1 end -- Establecer que minimo tengan un pixel de altura | ||
dxDrawRectangle (PantallaX/2 + X*10 - 98, 0, 5, FFT [X], tocolor (0, 255, 0)) -- Dibujar el rectangulo que representa las barras y ajustarlas a la pantalla | dxDrawRectangle (PantallaX/2 + X*10 - 98, 0, 5, FFT [X], tocolor (0, 255, 0)) -- Dibujar el rectangulo que representa las barras y ajustarlas a la pantalla |
Revision as of 06:01, 4 January 2014
Esta función obtiene flujos de audio de un sonido y los transforma a una tabla de números decimales que representan la trama de audio actual. Esto permite hacer cosas como visualizaciones.
Genera una tabla de todas las frecuencias de la trama de audio actual, que se inicia en el extremo bajo del espectro de frecuencias, medias y altas en ese orden.
En caso de tener algún problema existe un recurso que puede servir como ejemplo: Visualiser
Sólo escribe "startmusic mystreamurl" en la consola y lo reproducirá en la cartelera de cine cerca del Área 51 (drvin_screen).
Si el elemento es un jugador, esta función utilizará la voz de los jugadores.
Sintaxis
table getSoundFFTData (element Sonido, int Muestras [, int Bandas = 0])
Argumentos obligatorios
- Sonido: Un sonido que se creó utilizando las funciones playSound o playSound3D.
- Muestras: Las muestras que utilizara la función para crear la tabla. Las muestras permitidas son 256, 512, 1024, 2048, 4096, 8192 y 16384.
Argumentos opcionales
- Bandas: La cantidad de bandas o barras a las cuales las muestras se van a dividir. Si sólo se necesitan 5 barras, esto ahorra una gran cantidad de energía del CPU en comparación con tratar de hacerlo con 500 barras.
Devoluciones
Devuelve una tabla de Muestras/2 (o Bandas - 1 si son utilizadas) con números decimales representando la trama de audio actual. Devuelve false si el sonido no se está reproduciendo o no hay suficiente información en buffer en el caso de streams.
Ejemplo
Este ejemplo hace una visualización simple en el centro superior de la pantalla:
function ReproducirMusica () Musica = playSound ("Musica.mp3", true) -- Reproducir la musica addEventHandler ("onClientRender", getRootElement (), Visualizacion) -- Activar la funcion de Visualizacion end addEventHandler ("onClientResourceStart", resourceRoot, ReproducirMusica) local PantallaX = guiGetScreenSize () -- Obtener la resolucion X de la pantalla function Visualizacion () -- Funcion de Visualizacion FFT = getSoundFFTData (Musica, 4096, 21) -- Obtener la tabla en 4096 muestras y 20 barras (la funcion da una barra menos) for X = 0, 20 do -- Establecer que X vale de 0 a 20 (un numero para cada barra) simultaneamente FFT [X] = math.sqrt (FFT [X]/6)*128 -- Ajustar las barras para que no se hagan muy largas if FFT [X] > 13 then FFT [X] = 13 end -- Limitar las barras a que no se estiren mas de 13 pixeles if FFT [X] < 1 then FFT [X] = 1 end -- Establecer que minimo tengan un pixel de altura dxDrawRectangle (PantallaX/2 + X*10 - 98, 0, 5, FFT [X], tocolor (0, 255, 0)) -- Dibujar el rectangulo que representa las barras y ajustarlas a la pantalla end end
Cambios
Version | Description |
---|
1.3.2 | Agregado el elemento jugador para usar la voz de los jugadores |
Vea también
- 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