首页 > 解决方案 > 使用 libsndfile 获取音频持续时间

问题描述

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

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

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

标签: c++libsndfile

解决方案


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

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

推荐阅读