1. 底层音频帧的概念 1帧 = channel数 * 采样位数 * 8 (bytes)。
比如双声道,16Bit,小尾端的采样PCM数据 1帧=2*16*8 (bytes) = 256 (bytes)
2. Alsa period(周期)是以帧为单位,比如periodSize为128帧。
所以alsa的dma一个块一次传输的latency = periodSize / sampleRate (秒).
算法如下:
每秒数据量 = channel数 * 采样位数 * 8 * 采样率 = 帧数 * 采样率
所以latency = periodSize * 1帧大小 / 每秒数据量 = periodSize / sampleRate (秒).