Linux aplay 命令 - 播放音频文件
介绍
aplay 是 Linux 系统中用于播放音频文件的命令行工具。它是 ALSA(Advanced Linux Sound Architecture)项目的一部分,用于与音频设备进行交互。
aplay 支持大多数音频文件格式,如 WAV、MP3、OGG 等。理论上,只要有相应的 ALSA 插件支持就可以播放。
语法:
aplay [options] [filename [filename]] ...
选项:
-l, --list-devices:列出所有声卡和数字音频设备。-L, --list-pcms:列出所有 PCM 设备名称。-D, --device=NAME:按名称选择 PCM 设备。-q, --quiet:安静模式。-t, --file-type TYPE:指定文件类型(如 voc、wav、raw 或 au)。-c, --channels=#:指定音频文件的通道数。-f, --format=FORMAT:指定音频文件的采样格式(不区分大小写)。-r, --rate=#:指定音频文件的采样率。-d, --duration=#:#秒后中断。-s, --samples=#:每个通道采样#次后中断。-v, --verbose:显示 PCM 结构和设置(累计)。-i, --interactive:允许来自 stdin 的交互操作。-h, --help:显示帮助信息。--version: 显示版本信息。
备注
支持的采样格式有:S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM SPECIAL S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE。
需要注意的是,并非所有硬件都完全支持这些格式。
此外,一些常用的格式有快捷方式:
-f cd(16 bit little endian, 44100, stereo)等效于-f S16_LE -c2 -r44100-f cdr(16 bit big endian, 44100, stereo)等效于-f S16_BE -c2 -f44100-f dat(16 bit little endian, 48000, stereo)等效于-f S16_LE -c2 -r48000
如果没有指定采样格式,默认使用 U8。
示例
播放名为 sample.wav 的音频文件:
aplay sample.wav
指定使用硬件设备 hw:0,0 进行播放:
aplay -D hw:0,0 sample.wav
指定音频文件的格式为 CD 质量(16位,立体声),通道数为 2,采样率为 44100 Hz:
aplay -f cd -c 2 -r 44100 sample.wav
使用原始文件类型进行播放,并指定采样率、通道数和数据格式:
aplay -t raw -r 44100 -c 2 -f S16_LE sample.raw
从标准输入读取数据进行播放:
cat sample.wav | aplay -
