RO/getSoundFFTData: Difference between revisions
(Created page with "__NOTOC__ {{Client function}} Această funcție obține datele transformării rapide Fourier pentru un flux audio, care este un tabel de valori float reprezentând cadrul audio curent. Acest lucru permite vizualizări, de exemplu. O transformare Fourier rapidă generează un tabel cu toate frecvențele din cadrul audio curent, care începe de la capătul de jos al spectrului, trecând de la frecvențe medii la cele înalte, în această ordine. În cazul în care întâ...") |
No edit summary |
||
Line 8: | Line 8: | ||
Trebuie doar să tastați "startmusic mystreamurl" în consola dvs. și va fi difuzat pe panoul cinematografului de lângă A51. În cazul în care elementul este un jucător, această funcție va folosi vocea jucătorului. | Trebuie doar să tastați "startmusic mystreamurl" în consola dvs. și va fi difuzat pe panoul cinematografului de lângă A51. În cazul în care elementul este un jucător, această funcție va folosi vocea jucătorului. | ||
== | ==Sintaxă== | ||
<syntaxhighlight lang="lua">table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )</syntaxhighlight> | <syntaxhighlight lang="lua">table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )</syntaxhighlight> | ||
{{OOP||[[sound]]:getFFTData}} | {{OOP||[[sound]]:getFFTData}} | ||
Line 15: | Line 15: | ||
*'''iSamples:''' Eșantioanele permise sunt 256, 512, 1024, 2048, 4096, 8192 și 16384. | *'''iSamples:''' Eșantioanele permise sunt 256, 512, 1024, 2048, 4096, 8192 și 16384. | ||
=== | ===Argumente opționale=== | ||
*'''iBands:''' opțiunea de post-procesare vă permite să împărțiți eșantioanele în numărul dorit de benzi sau bare, astfel încât, dacă aveți nevoie doar de 5 bare, acest lucru economisește o mulțime de putere de procesare în comparație cu încercarea de a face acest lucru în Lua. | *'''iBands:''' opțiunea de post-procesare vă permite să împărțiți eșantioanele în numărul dorit de benzi sau bare, astfel încât, dacă aveți nevoie doar de 5 bare, acest lucru economisește o mulțime de putere de procesare în comparație cu încercarea de a face acest lucru în Lua. | ||
=== | ===Returnează=== | ||
Returnează un tabel de '''iSamples''/2 (sau '''iBands''' dacă se utilizează '''iBands''') ''floats''' reprezentând cadrul audio curent. | Returnează un tabel de '''iSamples''/2 (sau '''iBands''' dacă se utilizează '''iBands''') ''floats''' reprezentând cadrul audio curent. | ||
Returnează ''false'' dacă sunetul nu este încă redat sau nu a fost pus în buffer în cazul fluxurilor. | Returnează ''false'' dacă sunetul nu este încă redat sau nu a fost pus în buffer în cazul fluxurilor. | ||
== | ==Exemplu== | ||
<section name="Client" class="client" show="true"> | <section name="Client" class="client" show="true"> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 41: | Line 41: | ||
</section> | </section> | ||
== | ==Actualizări== | ||
{{ChangelogHeader}} | {{ChangelogHeader}} | ||
{{ChangelogItem|1.3.2|Added player element to use a players voice}} | {{ChangelogItem|1.3.2|Added player element to use a players voice}} | ||
== | ==Vezi și== | ||
{{Client_audio_functions}} | {{Client_audio_functions}} | ||
[[ES:getSoundFFTData]] | [[ES:getSoundFFTData]] |
Revision as of 07:49, 2 October 2023
Această funcție obține datele transformării rapide Fourier pentru un flux audio, care este un tabel de valori float reprezentând cadrul audio curent. Acest lucru permite vizualizări, de exemplu. O transformare Fourier rapidă generează un tabel cu toate frecvențele din cadrul audio curent, care începe de la capătul de jos al spectrului, trecând de la frecvențe medii la cele înalte, în această ordine. În cazul în care întâmpinați probleme, există o resursă de exemplu în depozitul de resurse: Visualiser
Trebuie doar să tastați "startmusic mystreamurl" în consola dvs. și va fi difuzat pe panoul cinematografului de lângă A51. În cazul în care elementul este un jucător, această funcție va folosi vocea jucătorului.
Sintaxă
table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )
OOP Syntax Help! I don't understand this!
- Method: sound:getFFTData(...)
Required Arguments
- sound: un element sonor creat cu ajutorul playSound sau playSound3D. De asemenea, sunt acceptate și fluxurile
- iSamples: Eșantioanele permise sunt 256, 512, 1024, 2048, 4096, 8192 și 16384.
Argumente opționale
- iBands: opțiunea de post-procesare vă permite să împărțiți eșantioanele în numărul dorit de benzi sau bare, astfel încât, dacă aveți nevoie doar de 5 bare, acest lucru economisește o mulțime de putere de procesare în comparație cu încercarea de a face acest lucru în Lua.
Returnează
Returnează un tabel de iSamples/2 (sau iBands dacă se utilizează iBands) floats reprezentând cadrul audio curent. Returnează false dacă sunetul nu este încă redat sau nu a fost pus în buffer în cazul fluxurilor.
Exemplu
soundHandler = playSound ( "sound.wav" ) function onSoundPlayRender ( ) if ( soundHandler ) then local soundFFT = getSoundFFTData ( soundHandler, 2048, 256 ) if ( soundFFT ) then for i = 0, 255 do -- Data starts from index 0 dxDrawRectangle ( i, 0, 1, math.sqrt ( soundFFT[i] ) * 256 ) end end end end addEventHandler ( "onClientRender", getRootElement(), onSoundPlayRender )
Actualizări
Version | Description |
---|
1.3.2 | Added player element to use a players voice |
Vezi și
- 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