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 查看支持列表,再尝试不同组合,直到声音正常即可 。