使用 libsndfile 获取音频持续时间

Get the audio duration using libsndfile

我使用 libsndfile 和 wasapi 创建了一个应用程序,它允许使用 QSlider 使用光标手动缓慢播放音频文件。

我看到 libsndfile 使用帧,我想知道如何获取此音频文件的持续时间,但我在 libsndfile 的文档中找不到它并使用 ms 播放部分音频文件。

我设法让它与帧一起工作,但我想了解如何用毫秒来完成它。

libsndfile 创建的对象有一个 frames() 方法可以为您提供此信息。 samplerate() 给你采样率,那么持续时间是:

static_cast<double>(frames())/samplerate()