【问题标题】:How to get a WAV file duration in C?如何在 C 中获取 WAV 文件的持续时间?
【发布时间】:2017-05-22 13:40:00
【问题描述】:

我正在使用 SIGIL API 和 windows.h 库在 C 中编写 WAV 播放器,我正在使用 windows.h 库中的 GetOpenFileName 打开文件,我需要一种方法来让程序“读取”持续时间的WAV文件,有一些功能可以做到吗?

【问题讨论】:

  • 我不知道是否有一个 API 函数,但这可能会让你感兴趣soundfile.sapp.org/doc/WaveFormat
  • SIGIL 不是用于电子书的吗?无论如何,标准 C 中没有函数可以告诉您 WAV 文件的持续时间。 如果可以通过将文件长度除以您想要的常数来近似fseek()ftell()
  • @pmg 有一个电子书阅读器,是的,但是,还有一个 C 语言用于用户输入、音频、图像和用户界面处理的库,here

标签: c windows wav getopenfilename


【解决方案1】:

据我所知:

时间 = [文件大小]/[字节率]

你可能还有更多的因素:

  • 每秒周期数;

  • 通道数(1、2、4、8...);

  • 确定每个周期的分辨率的位值(8、16 等);

此信息应在标题中。

【讨论】:

  • 是的,我以前曾对此进行过讨论,但是,我没有办法阅读该信息,但是,现在有了 Frederico 的评论,我想我可以做到,谢谢。
猜你喜欢
  • 1970-01-01
  • 2011-12-11
  • 2018-04-30
  • 2013-06-22
  • 2010-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多