PT-BR/getSoundBufferLength: Difference between revisions
Jump to navigation
Jump to search
(Created page with "__NOTOC__ {{BR/Funcao cliente}} {{New feature/item|3.0157|1.5.6|16216|Essa função obtém o tamanho do buffer de reprodução do elemento de áudio especificado....") |
mNo edit summary |
||
| Line 78: | Line 78: | ||
==See Also== | ==See Also== | ||
{{Client_audio_functions}} | {{Client_audio_functions}} | ||
[[EN | [[EN:getSoundBufferLength]] | ||
[[AR:getSoundBufferLength]] | [[AR:getSoundBufferLength]] | ||
Revision as of 18:29, 15 August 2021
Essa função obtém o tamanho do buffer de reprodução do elemento de áudio especificado. Funciona apenas com streams.
Sintaxe
float getSoundBufferLength ( element audio )
Sintaxe POO(OOP) Não entendeu o que significa isso?
- Método: audio:getBufferLength(...)
- Variável: .bufferLength
Argumentos necessários
- audio: o elemento de áudio ao qual você deseja obter o tamanho do buffer de reprodução.
Retorno
- Um float indicando o tamanaho do buffer de reprodução do elemento de áudio em segundos.
- false se o elemento de áudio não é uma stream.
- nil se o elemento de áudio é inválido.
Exemplo
Este exemplo cria um reprodutor simples ao qual exibe o tamanho da parte baixada do áudio.
local screenSize = Vector2(guiGetScreenSize())
local BOX_SIZE = Vector2(300, 100)
local LINE_SIZE = Vector2(BOX_SIZE.x, 10)
local BOX_POSITION = screenSize / 2 - BOX_SIZE / 2
local TITLE_POSITION = BOX_POSITION + Vector2(8, 8)
local ARTIST_POSITION = BOX_POSITION + Vector2(8, 32)
local sound
addCommandHandler("playsound", function ()
if isElement(sound) then
destroyElement(sound)
end
sound = playSound("https://example.com/song.mp3")
end)
addCommandHandler("stopsound", function ()
if isElement(sound) then
destroyElement(sound)
end
end)
addEventHandler("onClientRender", root, function ()
if isElement(sound) then
local soundLength = getSoundLength(sound)
local soundPosition = getSoundPosition(sound)
local soundBufferLength = getSoundBufferLength(sound)
local meta = getSoundMetaTags(sound)
dxDrawRectangle(BOX_POSITION, BOX_SIZE, tocolor(20, 20, 20, 255), false, false)
if meta.title then
dxDrawText(meta.title, TITLE_POSITION, 0, 0, tocolor(255, 255, 255, 255), 1.5, 1.5, "clear")
end
if meta.artist then
dxDrawText(meta.artist, ARTIST_POSITION, 0, 0, tocolor(255, 255, 255, 255), 1.0, 1.0, "clear")
end
dxDrawText(("%d:%02d"):format(soundPosition / 60, soundPosition % 60), BOX_POSITION + Vector2(8, BOX_SIZE.y - 32), BOX_POSITION + BOX_SIZE - Vector2(8, 0), tocolor(255, 255, 255, 255), 1.0, 1.0, "clear", "left", "top")
dxDrawText(("%d:%02d"):format(soundLength / 60, soundLength % 60), BOX_POSITION + Vector2(8, BOX_SIZE.y - 32), BOX_POSITION + BOX_SIZE - Vector2(8, 0), tocolor(255, 255, 255, 255), 1.0, 1.0, "clear", "right", "top")
-- draw seek bar
local linePosition = Vector2(BOX_POSITION.x, BOX_POSITION.y + BOX_SIZE.y - LINE_SIZE.y)
dxDrawRectangle(linePosition, LINE_SIZE, tocolor(255, 255, 255, 128), false, false)
-- draw buffer length
if soundBufferLength then
dxDrawRectangle(linePosition, Vector2(LINE_SIZE.x * (soundBufferLength / soundLength), LINE_SIZE.y), tocolor(255, 255, 255, 96), false, false)
end
-- draw current position
dxDrawRectangle(linePosition, Vector2(LINE_SIZE.x * (soundPosition / soundLength), LINE_SIZE.y), tocolor(255, 255, 255, 255), false, false)
end
end)
See Also
- 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