GetSoundBPM: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Remove obsolete Requirements section)
 
(23 intermediate revisions by 16 users not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
{{New feature/item|4.0140|1.3.0|4145|
{{New feature/item|3.0131|1.3.0|4145|
This function gets the beats per minute of a specific [[sound]] element.
This function gets the beats per minute of a specific [[sound]] element.
{{Warning|This function is expensive to call and will freeze the client about 1-3 seconds. Also, trying to get the BPM from a sound directly after its creation will make the sound start only after the client freeze. You can use a [[setTimer]] to call this function after song creation so it can play normally.}}
}}
}}


==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">int getSoundBPM( element sound )</syntaxhighlight>  
<syntaxhighlight lang="lua">int getSoundBPM ( element sound )</syntaxhighlight>  
 
{{OOP||[[sound]]:getBPM}}
===Required Arguments===  
===Required Arguments===  
*'''sound:''' A sound element that is created using [[playSound]] or [[playSound3D]]
*'''sound:''' a sound element that is created using [[playSound]] or [[playSound3D]]


===Returns===
===Returns===
Line 17: Line 18:
<section name="Client" class="client" show="true">
<section name="Client" class="client" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local sound = playSound ( "http://radio02-cn03.akadostream.ru:8114/nrj192.mp3" )
function getBPM()
    local soundElement = playSound("song.mp3") -- Play the song
    local beatsValue = getSoundBPM(soundElement) -- Get the beats per minute of the song


addEventHandler ( "onClientRender", root,
    outputChatBox("BPM: "..beatsValue) -- Output the beats to the chat box
function ( )
end
local bpm = getSoundBPM ( sound )
addCommandHandler("bpm", getBPM)
outputChatBox ( string.format ( "BPM: %i", bpm or 0 ) )
end
)
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
==Requirements==
{{Requirements|n/a|1.3.0-9.04162|}}


==See Also==
==See Also==
{{Client_audio_functions}}
{{Audio_functions|client}}
[[hu:GetSoundBPM]]
[[ru:getSoundBPM]]
[[ar:getSoundBPM]]
[[RO:getSoundBPM]]
[[PT-BR:getSoundBPM]]

Latest revision as of 17:05, 7 November 2024

This function gets the beats per minute of a specific sound element.

[[|link=|]] Warning: This function is expensive to call and will freeze the client about 1-3 seconds. Also, trying to get the BPM from a sound directly after its creation will make the sound start only after the client freeze. You can use a setTimer to call this function after song creation so it can play normally.

Syntax

int getSoundBPM ( element sound )

OOP Syntax Help! I don't understand this!

Method: sound:getBPM(...)


Required Arguments

Returns

Returns the beats per minute of the given sound.

Example

Click to collapse [-]
Client
function getBPM()
    local soundElement = playSound("song.mp3") -- Play the song
    local beatsValue = getSoundBPM(soundElement) -- Get the beats per minute of the song

    outputChatBox("BPM: "..beatsValue) -- Output the beats to the chat box
end
addCommandHandler("bpm", getBPM)

See Also