【问题标题】:Playing wavs with alsa. Determing number of frames?和 alsa 一起玩海浪。确定帧数?
【发布时间】:2012-12-20 19:11:04
【问题描述】:

我正在尝试在 alsa 中播放 wav,但失败了。它可以播放,但要么太短,过早中断播放,要么太大而出现段错误……这一切都取决于第 81 行该函数的最后一个参数。 http://paste2.org/p/2708324#line-81

【问题讨论】:

  • 你调试它来定位段错误了吗?听起来像是未定义的行为...
  • 当我设置帧>缓冲区长度时会出现段错误。
  • 我讨厌 ALSA,很抱歉你必须处理它。

标签: c++ wav alsa


【解决方案1】:

您确定您的 wav 文件的格式符合您的代码的预期吗?您的 wavHeader 结构对正在播放的 wav 文件做出了许多假设——它不适用于所有 wav 文件(当然不适用于我尝试过的文件)。当您阅读 Subchunk2Size 时,您完全有可能得到一个不正确的值。您的代码仅适用于非常特定的 wav 文件格式变体。

【讨论】:

    猜你喜欢
    • 2011-10-15
    • 2015-04-01
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2010-10-04
    • 2010-10-16
    相关资源
    最近更新 更多