40.15 Sound Output
To play sound using Emacs, use the function play-sound
. Only certain systems are supported; if you call play-sound
on a system which cannot really do the job, it gives an error.
The sound must be stored as a file in RIFF-WAVE format (‘.wav
’) or Sun Audio format (‘.au
’).
function
play-sound sound​
This function plays a specified sound. The argument, sound
, has the form (sound properties...)
, where the properties
consist of alternating keywords (particular symbols recognized specially) and values corresponding to them.
Here is a table of the keywords that are currently meaningful in sound
, and their meanings:
:file file
​
This specifies the file containing the sound to play. If the file name is not absolute, it is expanded against the directory data-directory
.
:data data
​
This specifies the sound to play without need to refer to a file. The value, data
, should be a string containing the same bytes as a sound file. We recommend using a unibyte string.
:volume volume
​
This specifies how loud to play the sound. It should be a number in the range of 0 to 1. The default is to use whatever volume has been specified before.
:device device
​
This specifies the system device on which to play the sound, as a string. The default device is system-dependent.
Before actually playing the sound, play-sound
calls the functions in the list play-sound-functions
. Each function is called with one argument, sound
.
command
play-sound-file file \&optional volume device​
This function is an alternative interface to playing a sound file
specifying an optional volume
and device
.
variable
play-sound-functions​
A list of functions to be called before playing a sound. Each function is called with one argument, a property list that describes the sound.