Basic audio mixer for sound effects.
This simple audio mixer makes it possible to play quick sounds, for instance when clicking on buttons, or for game sounds effects.
Only WAV files are supported. For playing MP3 music, and for more options, it is advisable to use the SDL_Mixer library.
Remark: This module is essentially independent of the rest of Bogue, so its source can, with very few modifications, be used for any SDL application.
type repeat =
| Repeat of int
| Forever
val init : unit -> string option
val create_mixer : ?tracks :int -> ?freq :int -> string option -> t
Create the mixer an open sound device. Only s16le
format is supported by the callback at this time. The mixer is initially paused, you need to unpause
it before playing anything.
val load_chunk : t -> string -> sound
val play_chunk :
?track :int ->
?effects :(sound -> unit) list ->
?volume :float ->
?repeat :repeat ->
t ->
sound ->
int option
Play chunk on the desired track number. If track
is not specified, find an available track. By default repeat = Repeat 1
.
val change_volume : float -> sound -> unit
Multiply sound intensity by a float factor