用 ffplay
播放 PCM 裸流时,必须手动告诉它“没有封装头、采样率、声道数、采样格式”四个关键点。命令模板如下:
ffplay -f <采样格式> -ar <采样率> -ac <声道数> -i <pcm文件>
常用组合示例
- 48 kHz、16 bit、小端、双声道
ffplay -f s16le -ar 48000 -ac 2 48000_2_s16le.pcm
- 48 kHz、32 bit float、小端、双声道
ffplay -f f32le -ar 48000 -ac 2 48000_2_f32le.pcm
- 8 kHz、16 bit、小端、单声道
ffplay -f s16le -ar 8000 -ac 1 audio.raw
参数说明
-f
:指定原始音频格式,如s16le
(有符号 16 bit 小端)、f32le
(32 bit float 小端)、s16be
(大端)等。-ar
:采样率(Hz)。-ac
:声道数,1 单声道,2 立体声。-i
:输入文件;若用管道可把-
代替文件名,例如
cat raw.pcm | ffplay -f s16le -ar 44100 -ac 2 -
如果忘记具体格式,可先执行 ffplay -formats | grep PCM
查看支持列表,再尝试不同组合,直到声音正常即可 。
评论