c++ - 使用 libsndfile 获取音频持续时间
问题描述
我使用 libsndfile 和 wasapi 创建了一个应用程序,它允许使用 QSlider 使用光标缓慢手动播放音频文件。
我看到 libsndfile 使用帧,我想知道如何获取此音频文件的持续时间,但我在 libsndfile 的文档中找不到它并使用 ms 播放部分音频文件。
我设法让它与帧一起工作,但我想了解如何用毫秒来完成它。
解决方案
创建的对象libsndfile
有一个frames()
方法可以为您提供此信息。samplerate()
给你采样率,所以持续时间是:
static_cast<double>(frames())/samplerate()
推荐阅读
- javascript - 如何从 asyn/await 函数将值返回给全局变量?
- amazon-web-services - 重复的 SQS 消息可以持续多长时间?
- java - Java,DateTimeFormatter 不考虑 ZoneDateTime 的时区
- tmux - tmux - 为每个命令强制重复前缀键
- r - 使用 R 有效地计算列中单词列表的出现次数
- java - CLion 插件开发:如何向现有方法添加方法调用
- c# - 从 c# 中的泛型类返回列表但列表(协变)没有在主类中更新?
- docker - 如何加载下载的图像,通过 ansible playbook 在 docker 容器中运行它
- javascript - 如何在Javascript正则表达式中提取引号之间的文本
- mysql - 分组计数?