Difference between revisions of "minetest.sound play"

From Minetest Developer Wiki
Jump to navigation Jump to search
m (→‎Examples: fix a typo)
Line 21: Line 21:
  
 
The function returns a sound handle that can be passed to <source enclose=none>minetest.sound_stop(handle)</source> to stop the sound.
 
The function returns a sound handle that can be passed to <source enclose=none>minetest.sound_stop(handle)</source> to stop the sound.
 +
 +
== Features ==
 +
You can play random sound using sound filenames convention: modname_soundname.N.ogg (see examples)
  
 
== Examples ==
 
== Examples ==
Line 38: Line 41:
 
</source>
 
</source>
 
Plays the sound <code>testmod_foobar.ogg</code> to player "foo".
 
Plays the sound <code>testmod_foobar.ogg</code> to player "foo".
 +
<source>
 +
-- mod/sounds listing:
 +
--    /testmod_foobar.1.ogg
 +
--    /testmod_foobar.2.ogg
 +
--    /testmod_foobar.3.ogg
 +
minetest.sound_play("testmod_foobar")
 +
</source>
 +
Plays the randomly choosed <code>testmod_foobar</code> sound to player.
 
[[Category:Methods]]
 
[[Category:Methods]]

Revision as of 18:11, 28 August 2014

Syntax

minetest.sound_play(SimpleSoundSpec, SoundParameters)

Description

Plays a sound.

Only OGG files are supported. For positional playing of sounds, only single-channel (mono) files are supported. Otherwise OpenAL will play them non-positionally.

SimpleSoundSpec can be a string with the filename (without the file extention) or a table with the fields name="name" and gain=float.

SoundParameters is a table with the following fields:

  • gain = float: the gain. default = 1.0
  • max_hear_distance = int: the maximum hear distance. default = 32
  • loop = bool: Sound is looped. Only sounds connected to objects can be looped. default = false

The location can be specified with one of the following fields in the SoundParameters (if none is used, its played locationless to all players):

  • to_player = "playername": Sound is played locationless to the player
  • pos = position: Sound is played at this position
  • object = ObjectRef: Sound is played connected to the object

The function returns a sound handle that can be passed to minetest.sound_stop(handle) to stop the sound.

Features

You can play random sound using sound filenames convention: modname_soundname.N.ogg (see examples)

Examples

minetest.sound_play("testmod_testsound", {
	pos = {x=0, y=0, z=0},
	max_hear_distance = 100,
	gain = 10.0,
})

Plays the sound testmod_testsound.ogg at the position 0,0,0.

minetest.sound_play("testmod_foobar", {
	to_player = "foo",
	gain = 2.0,
})

Plays the sound testmod_foobar.ogg to player "foo".

-- mod/sounds listing:
--     /testmod_foobar.1.ogg
--     /testmod_foobar.2.ogg
--     /testmod_foobar.3.ogg
minetest.sound_play("testmod_foobar")

Plays the randomly choosed testmod_foobar sound to player.