如何获取时间范围内的帧数?
我想知道在一个wav文件中,某个特定时间范围内有多少帧。通常,我们可以使用函数wave.getnframes来获取整个wav文件中的帧数,但我想知道如何找到在特定时间范围内的帧数,比如从5.43秒到5.81秒之间的帧数。
我们该怎么做呢?
请给我一些建议,谢谢!
1 个回答
5
帧率就是每秒显示的画面数量。比如说,5.81减去5.43等于0.38秒。然后,画面的数量就等于0.38乘以波形的帧率(wave.getframerate())。就像这样:
import wave
start_time = 5.43
stop_time = 5.81
time_period = stop_time - start_time
wav = wave.open('test.wav')
time_period_frames = time_period * wav.getnframes()
有时候,直接在命令行输入'python'来启动一个Python交互式会话,会更容易理解这些东西。
我就是这样弄明白的:我创建了一个60秒的片段。然后我把wave.getnframes()的结果除以wave.getframerate(),结果是60。文档里没有详细说明,因为这是多媒体领域的常识。但总是检查两遍是有好处的。