AR/getSoundFFTData

From Multi Theft Auto: Wiki
Revision as of 07:51, 10 May 2020 by Ahmedrezk (talk | contribs)
Jump to navigation Jump to search

تحصل هذه الوظيفة على بيانات تحويل فورييه السريع لدفق صوتي وهو عبارة عن جدول عوامات يمثل الإطار الصوتي الحالي. هذا يسمح بأشياء مثل التصورات.


يولد تحويل فورييه السريع جدولًا لجميع ترددات الإطار الصوتي الحالي الذي يبدأ عند نهاية باس الطيف إلى متوسط إلى ارتفاعات في هذا الترتيب

إذا واجهتك أي مشاكل ، فهناك مثال لمورد موجود على svn للمورد هنا: Visualiser

فقط اكتب "startmusic mystreamurl" في وحدة التحكم الخاصة بك وسيتم تشغيله على لوحة السينما بالقرب من A51 إذا كان العنصر لاعبًا ، فستستخدم هذه الوظيفة صوت اللاعبين.

تركيب الوظيفة

table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )

الفراغات المطلوبة

  • الصوت:عنصر الصوت يتم انشاؤه باستخدام playSound او playSound3D.
  • عينات: العينات المسموح بها هي 128 و 256 و 512 و 1024 و 2048 و 4096 و 8192 و 16384

الفراغات الاختيارية

  • مجموعات: يسمح لك خيار ما بعد المعالجة بتقسيم العينات إلى العدد المطلوب من الأشرطة أو الأشرطة ، لذلك إذا كنت تحتاج إلى 5 أشرطة فقط ، فهذا يوفر الكثير من طاقة المعالج مقارنة بمحاولة القيام بذلك في Lua

المعطيات

  • جدول للعينات التي تمثل الاطار الصوتي
  • اذا لم تنجح تعطي false

مثال

soundHandler = playSound ( "sound.wav" )

function onSoundPlayRender ( )
    if ( soundHandler ) then
        local soundFFT = getSoundFFTData ( soundHandler, 2048, 256 )
	if ( soundFFT ) then
            for i = 0, 255 do -- تبدأ البيانات من الفهرس 0
                dxDrawRectangle ( i, 0, 1, math.sqrt ( soundFFT[i] ) * 256 )
            end
        end
    end
end
addEventHandler ( "onClientRender", getRootElement(), onSoundPlayRender )

التغير

Version Description
1.3.2 Added player element to use a players voice

أنظر أيضاً