Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有平滑循环的C#音频库?_C#_.net_Audio - Fatal编程技术网

具有平滑循环的C#音频库?

具有平滑循环的C#音频库?,c#,.net,audio,C#,.net,Audio,我正在寻找一个音频库,它与.NET一起工作,允许平滑循环。我试过DirectX音频视频播放和精神分析。两者都很容易使用,但循环略过了一点。我不知道这是我的错还是他们的错。我知道有一些声音样本可以清晰地循环(WinAmp可以做得很好),但我无法让我的C#app也这样做。我可以使用什么库,或者我可以在我的应用程序中修复什么,使它与我拥有的库干净地循环 更新:FMOD已经能够循环我的音频,但问题是我的.net包装器只以一种方式加载文件。我不能多次播放音效,因为它们在播放结束时会被处理掉,有时,每当播放

我正在寻找一个音频库,它与.NET一起工作,允许平滑循环。我试过DirectX音频视频播放和精神分析。两者都很容易使用,但循环略过了一点。我不知道这是我的错还是他们的错。我知道有一些声音样本可以清晰地循环(WinAmp可以做得很好),但我无法让我的C#app也这样做。我可以使用什么库,或者我可以在我的应用程序中修复什么,使它与我拥有的库干净地循环


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

,可以尝试免费使用的FMOD。 我会仔细检查声音是否真的清晰循环——特别是,第一个样本和最后一个样本是否接近(或相等),否则你会听到咔嗒声。WinAMP可以做一些特殊的处理来消除点击


更新:FMOD附带了一大堆C语言的示例,展示了正确的操作方法。这个名为“3d”的例子显示了一种清晰的循环声音。您应该能够在不使用3D功能的情况下删除处理循环的代码。

这是游戏音乐-我自己编辑了示例,尽可能地对其进行微调。在我的游戏中,它不是真正的点击,而是暂停几秒钟然后重新启动。事实上,它不会在开始时重新启动,而是在暂停后的时间重新启动。所以它几乎就像是沉默了一会儿。