代码之家  ›  专栏  ›  技术社区  ›  Tesserex

C音频库具有平滑循环?

  •  1
  • Tesserex  · 技术社区  · 15 年前

    我正在寻找一个与.NET配合使用的音频库,它允许平滑循环。我试过DirectX音频视频播放和Mentalis。两者都易于使用,但循环略过一点。我想知道那是我的错还是他们的错。我有我知道可以循环清晰的声音样本(Winamp可以做得很好),但我不能让我的C应用程序做同样的事情。我可以使用什么库,或者我可以在我的应用程序中修复什么来让它与我拥有的库干净地循环?

    更新:fmod已经能够循环我的音频,但问题是.NET包装器只能以一种方式加载文件。我不能多次播放一个声音效果,因为它们在播放结束时会被处理掉,有时每当要播放一个声音时,它就会挂起。我知道我可以重新加载声音来再次播放,但我不想每次枪击都击中磁盘。我应该自己进入C++层,跳过.NET包装器吗?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Roman Starkov    15 年前

    你可以试试非商业用途的免费功能性维护。

    我会仔细检查声音是否循环清晰——具体来说,第一个样本和最后一个样本非常接近(或相等),否则你会听到一声咔哒声。可以想象,Winamp可以做一些特殊的处理来消除点击。

    更新:fmod附带了一大堆C格式的样本,这些样本显示了正确的处理方法。这个名为“3d”的例子显示了一个清晰的循环声音。您应该能够撕掉处理循环的代码,而不需要使用3D功能。