AMR (Adaptive Multi-Rate) 是一种用于语音、演讲的音频压缩编码规范,同时也是一种封装amr帧的封装规范。
我们主要介绍其封装协议。
AMR主要分为两种, AMR-WB (宽带AMR, AMR Wideband) 和 AMR-NB(窄带 AMR, AMR Narrowband)。
二者主要的区分在于采样率不同,AMR-WB的采样率是 16kHz, AMR-NB的采样率是8kHz,
二者的通道数均为1,即单通道,
AMR封装协议很简单主要由 AMR文件头 + AMR数据帧组成。即
AMR-WB的文件头为 “#!AMR-WB\n”, 之后跟一帧帧的有效AMR帧数据。
AMR-NB的文件头为 “#!AMR\n”, 之后跟一帧帧的有效AMR帧数据。
文件头是区分AMR-WB和 AMR-NB的唯一标示,
当我们解析AMR文件时,
如果开头是 “#!AMR-WB\n”,表示此文件是宽带AMR,采样率 16kHz, 通道数为1,即
如果开头是 “#!AMR\n”,表示此文件是窄带AMR,采样率 8kHz, 通道数为1,即
查看某一AMR-NB, 结果如下