PlaySound3D: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
(28 intermediate revisions by 17 users not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
Creates a [[sound]] element in the GTA world and plays it immediately after creation for the local player. [[setElementPosition]] can be used to move the [[sound]] element around after it has been created. Supported audio formats are MP3, WAV, OGG, RIFF, MOD, XM, IT and S3M.
Creates a [[sound]] [[element]] in the GTA world and plays it immediately after creation for the local player. [[setElementPosition]] can be used to move the [[sound]] element around after it has been created. Remember to use [[setElementDimension]] after creating the sound to play it outside of dimension 0.<br />
 
<br />
{{Note|
*The only supported audio formats are MP3, WAV, OGG, RIFF, MOD, XM, IT and S3M.
*For performance reasons, when using playSound3D for effects that will be played lots (i.e. weapon fire), it is recommend that you convert your audio file to a one channel (mono) WAV with sample rate of 22050 Hz or less. Also consider adding a limit on how often the effect can be played e.g. once every 50ms.}}
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">element playSound3D ( string soundName, float x, float y, float z, [ bool looped ] )</syntaxhighlight>  
<syntaxhighlight lang="lua">element playSound3D ( string soundPath, float x, float y, float z, [ bool looped = false ] )</syntaxhighlight>  
 
<syntaxhighlight lang="lua">element playSound3D ( string soundURL, float x, float y, float z, [ bool looped = false, bool throttled = true ] )</syntaxhighlight>
===Required Arguments===  
{{OOP||[[Sound|Sound3D]]}}
*'''soundName:''' Name of the sound file you want to play. (Sound file has to be predefined in the client side [[meta.xml]] file with <file /> tags.)
===Required Arguments===
*'''x:''' A floating point number representing the X coordinate on the map.
*'''soundPath:''' the [[filepath]] to the sound file you want to play. (Sound file has to be predefined in the [[meta.xml]] file with <file /> tag. And also can use url instead of [[filepath]] )
*'''y:''' A floating point number representing the Y coordinate on the map.
*'''soundURL:''' the URL. (In this version the file does not has to be predefined in the [[meta.xml]] )
*'''z:''' A floating point number representing the Z coordinate on the map.
*'''x:''' a [[float]]ing point number representing the X coordinate on the map.
*'''y:''' a [[float]]ing point number representing the Y coordinate on the map.
*'''z:''' a [[float]]ing point number representing the Z coordinate on the map.


===Optional Arguments===  
===Optional Arguments===  
{{OptionalArg}}  
{{OptionalArg}}  
*'''looped:''' A [[boolean]] representing whether the sound will be looped. To loop the sound, use ''true''.
*'''looped:''' a [[boolean]] representing whether the sound will be looped. To loop the sound, use ''true''.
{{New feature/item|3.0150|1.5||
*'''throttled:''' a [[boolean]] representing whether the sound will be throttled (i.e. given reduced download bandwidth). To throttle the sound, use ''true''.
}}


===Returns===
===Returns===
Returns a [[sound]] element if the sound was successfully created, ''false'' otherwise.
Returns a [[sound]] [[element]] if the sound was successfully created, ''false'' otherwise.


==Example==  
==Example==  
This example creates a looping sound within a pizza shop. The pizza shop is in san fierro near pier 69
This example creates a looping sound within a pizza shop. The pizza shop is in san fierro near pier 69
<section name="Client" class="client" show="true">
<section name="Example" class="client" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function onResourceStart()
function onResourceStart()
local sound = playSound3D("sounds/song.mp3", 373.14, -125.21, 1001, true)  
local sound = playSound3D("sounds/song.mp3", 373.14, -125.21, 1001, true)  
end
end
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), onResourceStart)
addEventHandler("onClientResourceStart", resourceRoot, onResourceStart)
</syntaxhighlight>
</section>
This example play internet radio in groove street.
<section name="Example 2" class="client" show="true" >
<syntaxhighlight lang="lua">
addEventHandler( 'onClientResourceStart', resourceRoot,
function( )
local uSound = playSound3D( 'http://193.34.51.25:80', 2498, -1659, 12 )  
setSoundMaxDistance( uSound, 100 )
end
)
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
Line 32: Line 51:
==See Also==
==See Also==
{{Client_audio_functions}}
{{Client_audio_functions}}
[[HU:playSound3D]]
[[AR:playSound3D]]
[[DE:playSound3D]]
[[RU:playSound3D]]

Revision as of 17:38, 21 July 2018

Creates a sound element in the GTA world and plays it immediately after creation for the local player. setElementPosition can be used to move the sound element around after it has been created. Remember to use setElementDimension after creating the sound to play it outside of dimension 0.

[[{{{image}}}|link=|]] Note:
  • The only supported audio formats are MP3, WAV, OGG, RIFF, MOD, XM, IT and S3M.
  • For performance reasons, when using playSound3D for effects that will be played lots (i.e. weapon fire), it is recommend that you convert your audio file to a one channel (mono) WAV with sample rate of 22050 Hz or less. Also consider adding a limit on how often the effect can be played e.g. once every 50ms.

Syntax

element playSound3D ( string soundPath, float x, float y, float z, [ bool looped = false ] )
element playSound3D ( string soundURL, float x, float y, float z, [ bool looped = false, bool throttled = true ] )

OOP Syntax Help! I don't understand this!

Method: Sound3D(...)


Required Arguments

  • soundPath: the filepath to the sound file you want to play. (Sound file has to be predefined in the meta.xml file with <file /> tag. And also can use url instead of filepath )
  • soundURL: the URL. (In this version the file does not has to be predefined in the meta.xml )
  • x: a floating point number representing the X coordinate on the map.
  • y: a floating point number representing the Y coordinate on the map.
  • z: a floating point number representing the Z coordinate on the map.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • looped: a boolean representing whether the sound will be looped. To loop the sound, use true.
  • throttled: a boolean representing whether the sound will be throttled (i.e. given reduced download bandwidth). To throttle the sound, use true.

Returns

Returns a sound element if the sound was successfully created, false otherwise.

Example

This example creates a looping sound within a pizza shop. The pizza shop is in san fierro near pier 69

Click to collapse [-]
Example
function onResourceStart()
	local sound = playSound3D("sounds/song.mp3", 373.14, -125.21, 1001, true) 
end
addEventHandler("onClientResourceStart", resourceRoot, onResourceStart)

This example play internet radio in groove street.

Click to collapse [-]
Example 2
addEventHandler( 'onClientResourceStart', resourceRoot,
	function( )
		local uSound = playSound3D( 'http://193.34.51.25:80', 2498, -1659, 12 ) 
		setSoundMaxDistance( uSound, 100 )
	end
)

See Also