PT-BR/getSoundWaveData

From Multi Theft Auto: Wiki
Jump to navigation Jump to search

Essa função obtém os dados do formato da onda de um áudio os quais são uma tabela de floats representando o quadro atual. Essa função permite a visualização do áudio.

Se o elemento passado no primeiro argumento for um jogador, essa função usará sua voz.

Sintaxe

table getSoundWaveData ( element audio, int amostras )

Sintaxe POO(OOP) Não entendeu o que significa isso?

Método: audio:getWaveData(...)

Argumentos necessários

  • audio: um elemento de áudio criado usando playSound ou playSound3D. Streams também são suportadas.
  • amostras: amostras permitidas são: 256, 512, 1024, 2048, 4096, 8192 and 16384.

Retorno

Retorna uma tabela com a quantidade de floats definida em amostras representando a onda do quadro atual do áudio. Retorna false caso o áudio não está sendo reproduzido ou a stream ainda não foi carregada.

Exemplo

Esse exemplo cria um visualizador de áudio no canto superior esquerdo da tela.

Click to collapse [-]
Client
local audio = playSound ( "audio.mp3" )

function onSoundPlayRender ( )
    if ( audio ) then
        local onda = getSoundWaveData ( audio, 256 )
	if ( onda ) then
            for i=0,255 do
                dxDrawRectangle ( i, 128, 1, onda[i] * 128)
            end
        end
    end
end

addEventHandler ( "onClientRender", root, onSoundPlayRender )

Este exemplo cria um visualizador de áudio, mas apebas com as barras de baixo.

Click to collapse [-]
Client
local audio = playSound ("audio.mp3")

function renderWave ()
    if (isElement (audio)) then
        local onda = getSoundWaveData (audio, 256)
        for i=0, 256 - 1 do
            if (onda) then -- Avoid NaN values.
                dxDrawRectangle (i, 128, 1, math.abs (onda[i]) * 128)
            end
        end
    end
end

addEventHandler ("onClientRender", root, renderWave)

Esse exemplo criar um visualizador de áudio, mas apenas com as barras de cima.

Click to collapse [-]
Client
local audio = playSound ("audio.mp3")

function renderWave ()
    if (isElement (audio)) then
        local onda = getSoundWaveData (audio, 256)
        for i=0, 256 - 1 do
            if (onda) then -- Avoid NaN values.
                dxDrawRectangle (i, 128, 1, math.abs (onda[i]) * -128)
            end
        end
    end
end

addEventHandler ("onClientRender", root, renderWave)

Esse exemplo cria um visualizador de áudio no canto inferior direito da tela.

Click to collapse [-]
Client
local audio = playSound ("audio.mp3")
local x, y = guiGetScreenSize ()

function renderWave ()
    if (isElement (audio)) then
        local onda = getSoundWaveData (audio, 256)
        for i=0, 256 - 1 do
            if (onda) then -- Avoid NaN values.
                dxDrawRectangle ((x-256)+i, y-128, 1, onda[i] * 128)
            end
        end
    end
end

addEventHandler ("onClientRender", root, renderWave)

Changelog

Version Description
1.3.2 Added player element to use a players voice

Veja também