如何获取时间范围内的帧数?

1 投票
1 回答
709 浏览
提问于 2025-04-16 00:38

我想知道在一个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。文档里没有详细说明,因为这是多媒体领域的常识。但总是检查两遍是有好处的。

撰写回答