PL/getSoundBufferLength: Difference between revisions
Jump to navigation
Jump to search
(TODO: Change the example) |
m (Changed to polish translation) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
{{PL/Client function}} | {{PL/Client function}} | ||
{{PL/New feature/item|3.0157|1.5.6|16216| | {{PL/New feature/item|3.0157|1.5.6|16216| | ||
Ta funkcja pobiera długość odtwarzanego [[sound|dźwięku]]. Działa tylko ze strumieniami. | Ta funkcja pobiera długość odtwarzanego [[PL/sound|dźwięku]]. Działa tylko ze strumieniami. | ||
}} | }} | ||
Line 9: | Line 9: | ||
float getSoundBufferLength ( element dzwiek ) | float getSoundBufferLength ( element dzwiek ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{OOP||[[sound]]:getBufferLength|bufferLength}} | {{PL/OOP||[[PL/sound|sound]]:getBufferLength|bufferLength}} | ||
===Wymagane argumenty=== | ===Wymagane argumenty=== | ||
*'''dzwiek:''' [[sound|dźwięk]], którego długość chcesz otrzymać | *'''dzwiek:''' [[PL/sound|dźwięk]], którego długość chcesz otrzymać | ||
===Zwraca=== | ===Zwraca=== | ||
* [[float|Wartość zmiennoprzecinkową]] wskazującą długość odtwarzanego [[sound|dźwięku]] w sekundach. | * [[PL/float|Wartość zmiennoprzecinkową]] wskazującą długość odtwarzanego [[PL/sound|dźwięku]] w sekundach. | ||
* ''fałsz'' jeżeli dźwięk nie jest strumieniem. | * ''fałsz'' jeżeli dźwięk nie jest strumieniem. | ||
* ''nil'' jeżeli dźwięk jest nieprawidłowy. | * ''nil'' jeżeli dźwięk jest nieprawidłowy. | ||
Line 78: | Line 78: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==Zobacz Także== | ||
{{PL/Client_audio_functions}} | {{PL/Client_audio_functions}} | ||
Line 84: | Line 84: | ||
[[EN:getSoundBufferLength]] | [[EN:getSoundBufferLength]] | ||
[[PT-BR:getSoundBufferLength]] | [[PT-BR:getSoundBufferLength]] | ||
[[Category:PL/Client functions]] |
Latest revision as of 17:48, 7 April 2023
Ta funkcja pobiera długość odtwarzanego dźwięku. Działa tylko ze strumieniami.
Składnia
float getSoundBufferLength ( element dzwiek )
Składnia OOP Pomocy, nie rozumiem!
- Metoda: sound:getBufferLength(...)
- Wartość: .bufferLength
Wymagane argumenty
- dzwiek: dźwięk, którego długość chcesz otrzymać
Zwraca
- Wartość zmiennoprzecinkową wskazującą długość odtwarzanego dźwięku w sekundach.
- fałsz jeżeli dźwięk nie jest strumieniem.
- nil jeżeli dźwięk jest nieprawidłowy.
Przykłady
Ten przykład wyświetla prosty odtwarzacz pokazujący długość danego dźwięku.
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)
Zobacz Także
- 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
- playSoundFrontEnd
- setRadioChannel
- setSoundEffectEnabled
- setSoundEffectParameter
- setSoundLooped
- setSoundMaxDistance
- setSoundMinDistance
- setSoundPan
- setSoundPanningEnabled
- setSoundPaused
- setSoundPosition
- setSoundProperties
- setSoundSpeed
- setSoundVolume
- stopSound