一、计算公式

Size = ((Rate * 1000 * Precision * Channels * Length) / 8) + 44 

参数说明:
Size : 文件大小,Byte
Rate :采样率,kHz
Precision : 采样位数,bit
Channels : 声道数量
Length : 音频长度,s(秒)

那么根据反过来根据文件大小计算播放长度公式就是:
Length = (Size - 44) * 8 / (Rate * 1000 * Precision * Channerls)

比特率的计算:
bit_rate = Rate * Precision * Channels

注意:Precision可以通过字节长度*8获取
使用wave读取的结果如下

source = wave.open(file_path)
params = source.getparams()
""
output:
_wave_params(nchannels=2, sampwidth=2, framerate=44100, 
nframes=3670977, comptype='NONE', compname='not compressed')

解释:
size:可以通过os模块获取
Rate对应framerate,文件的是hz,所以需要除以1k
Precision对应sampwidth,这里是单位量,所以需要乘以单位数8,这个例子中就是2*8
Channels对应nchannels.
Length:视频时间
""

参考博客

时间计算

posted on 2022-04-12 09:59  蔚蓝色の天空  阅读(730)  评论(0编辑  收藏  举报