43.15 声音输出

要在 Emacs 中播放声音,可使用函数 play-sound。该功能仅在部分系统上受支持;如果在不支持声音播放的系统上调用 play-sound,函数会抛出错误。

声音文件必须为 RIFF-WAVE 格式(‘.wav’)或 Sun 音频格式(‘.au’)。

Function: play-sound sound

该函数播放指定的声音。参数 sound 的格式为 (sound properties...),其中 properties 由成对出现的关键字(特定的专用符号)和对应值组成。

下表列出当前在 sound 中有效的关键字及其含义:

:file file

指定存放待播放声音的文件。 若文件名不是绝对路径,则会以目录 data-directory 为基准进行扩展。

:data data

直接指定待播放的声音数据,无需依赖文件。 值 data 应为与声音文件字节内容一致的字符串,建议使用单字节字符串。

:volume volume

指定声音播放的音量,取值范围为 0 到 1。 默认使用此前已设定的音量。

:device device

以字符串形式指定播放声音所用的系统设备。 默认设备与具体系统相关。

在实际播放声音前,play-sound 会依次调用列表 play-sound-functions 中的函数。 每个函数均以 sound 作为唯一参数。

Command: play-sound-file file &optional volume device

该函数是播放声音文件 file 的简化接口,可指定可选参数 volume(音量)和 device(设备)。

Variable: play-sound-functions

播放声音前需要调用的函数列表。每个函数接收一个参数,即描述声音的属性列表。