AR/getSoundWaveData
Jump to navigation
Jump to search
هذه الوظيفة تجلب الموجة من المعلومات للصوت البث عبارة عن جدول float يمثل الإطار الصوتي الحالي كموجة. هذا يتيح اشياء مثل التصورات. اذا كان العنصر الاعب تقوم الوظيفة بأستخادم صوت الاعبيين.
تركيب الوظيفة
table getSoundWaveData ( element sound, int iSamples )
الفرغات المطلوبة
- الصوت: عنصر الصوت المصنوع ب playSound او playSound3D. البث ايضا مدعوم
- عينات:العينات المتاحة 128, 256, 512, 1024, 2048, 4096, 8192 و 16384 وتحديد عدد العينات التي ستحصل عليها من الصوت الذي يتم تشغيله حاليًا
المعطيات
- تعطي جدول من float تمثل اطار الصوت الحالي
- تعطي false اذا لم يعمل الصوت او لم يتم التخزين المؤقت في حالة البث
مثال
هذا المثال يقوم بتشغيل صوت وجلب معلومات موجة الصوت ويقوب بأخراج نص في الدردشة بلمعلومات
Click to collapse [-]
ClientaddCommandHandler("playsound",
function ()
local sound = playSound("wasted.mp3")
local data = getSoundWaveData(sound, 512) -- يعطي جدول
for i, v in pairs(data) do
outputChatBox(v) -- اخراج نص في الدردشة ب اطار موجة الصوت الحالي
end
end
)
يقوم هذا المثال بإنشاء متصور صوت في الزاوية اليسرى العلوية من الشاشة.
Click to collapse [-]
ClientsoundHandler = playSound ( "sound.wav" )
function onSoundPlayRender ( )
if ( soundHandler ) then
local waveData = getSoundWaveData ( soundHandler, 256 )
if ( waveData ) then
for i=0,255 do
dxDrawRectangle ( i, 128, 1, waveData[i] * 128)
end
end
end
end
addEventHandler ( "onClientRender", getRootElement(), onSoundPlayRender )
ينشئ هذا المثال عارضًا صوتيًا ، ولكن مع وجود أشرطة لأسفل فقط.
Click to collapse [-]
ClientsoundHandler = playSound ("audio.mp3")
local samples = 256
function renderWave ()
if (isElement (soundHandler)) then
local waveData = getSoundWaveData (soundHandler, samples)
for i=0, samples-1 do
if (waveData) then -- تجنب القيم الوهمية.
dxDrawRectangle (i, 128, 1, math.abs (waveData[i]) * 128)
end
end
end
end
addEventHandler ("onClientRender", root, renderWave)
ينشئ هذا المثال عارضًا صوتيًا ، ولكن مع رفع الأشرطة فقط.
Click to collapse [-]
ClientsoundHandler = playSound ("audio.mp3")
local samples = 256
function renderWave ()
if (isElement (soundHandler)) then
local waveData = getSoundWaveData (soundHandler, samples)
for i=0, samples-1 do
if (waveData) then -- تجنب القيم الوهمية.
dxDrawRectangle (i, 128, 1, math.abs (waveData[i]) * -128)
end
end
end
end
addEventHandler ("onClientRender", root, renderWave)
ينشئ هذا المثال عارضًا صوتيًا في الزاوية اليمنى السفلية من الشاشة.
Click to collapse [-]
ClientsoundHandler = playSound ("audio.mp3")
local x, y = guiGetScreenSize ()
local samples = 256
function renderWave ()
if (isElement (soundHandler)) then
local waveData = getSoundWaveData (soundHandler, samples)
for i=0, samples-1 do
if (waveData) then -- تجنب القيم الوهمية.
dxDrawRectangle ((x-samples)+i, y-128, 1, waveData[i] * 128)
end
end
end
end
addEventHandler ("onClientRender", root, renderWave)
التغيرات
| الاصدار | الوصف |
|---|
| 1.3.2 | اضافة عنصر الاعب لاستخدام صوتة |
أنظر أيضاً
- getSoundBufferLength
- getSoundEffects
- getSoundFFTData
- getSoundLength
- getSoundLevelData
- getSoundMaxDistance