在readframes()
python 中使用时,在线文档说返回采样频率,看起来它返回 2 个字节。我认为每帧有 4 个字节:
left = 2 bytes
right = 2 bytes
我是否必须检查它是单声道还是立体声,如果是立体声,一次读取 2 帧,如果是单声道,一次读取 1 帧?
波形文件具有:
Wave_read.getframerate()
(例如,如果来自音频 CD,则为 44100)。Wave_read.getsampwidth()
(即 1 用于 8 位样本,2 用于 16 位样本)Wave_read.getnchannels()
通道(通常 1 个用于单声道,2 个用于立体声)每次你做 a Wave_read.getframes(N)
,你都会得到N * sample_width * n_channels
字节。
因此,如果您从 44100Hz、16 位立体声文件中读取 2048 帧,则结果是 8192 字节。