AR/getSoundBufferLength
Jump to navigation
Jump to search
هذه الوظيفة تحصل علي طول التشغيل المخزن للصوت sound. تعمل فقط مع الروابط.
تركيب الوظيفة
float getSoundBufferLength ( element theSound )
OOP Syntax Help! I don't understand this!
- Method: sound:getBufferLength(...)
- Variable: .bufferLength
الفراغات المطلوبة
- الصوت: sound العنصر الذي تريد ان تحصل منة علي طول التشغيل المخزن.
المعطيات
- float قيمة تشير الي طول التشغيل المخزن للصوت sound بلثواني.
- false اذا لم يكن الصوت رابط.
- nil اذا كان الصوت غير صالح.
مثال
هذا المثال يعرض طول الجزء المحمل من الصوت .
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") -- عرض شريط التقدم 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) -- تقدم طول الصوت المخزن if soundBufferLength then dxDrawRectangle(linePosition, Vector2(LINE_SIZE.x * (soundBufferLength / soundLength), LINE_SIZE.y), tocolor(255, 255, 255, 96), false, false) end -- تقدم الصوت dxDrawRectangle(linePosition, Vector2(LINE_SIZE.x * (soundPosition / soundLength), LINE_SIZE.y), tocolor(255, 255, 255, 255), false, false) end end)
See Also
- getSoundBufferLength
- getSoundEffects
- getSoundFFTData
- getSoundLength
- getSoundLevelData
- getSoundMaxDistance