【问题标题】:Get the audio duration using libsndfile使用 libsndfile 获取音频持续时间
【发布时间】:2019-04-19 16:55:25
【问题描述】:

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

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

我设法使它与帧一起工作,但我想了解如何以毫秒为单位。

【问题讨论】:

    标签: c++ libsndfile


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢你的回答,所以如果它返回 0.834,那就意味着 834 毫秒,对吧?
    • 是的,完全正确。采样率是每秒样本数,帧数是样本数,因此您可以在几秒钟内得到答案。
    猜你喜欢
    • 2013-03-01
    • 1970-01-01
    • 2014-02-08
    • 2010-11-17
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    相关资源
    最近更新 更多