2

我在 DirectShow .NET 中遇到了一个错误,我在其中创建了一个采样率为 8khz 的辅助缓冲区,并且在播放时,声音以大约 8khz 的速度播放。8.1khz 代替。

谷歌搜索,我发现我可能被迫自己将 8khz 音频上采样到 48khz 或 44.1khz,具体取决于 PC 中的声卡。

我可以为此使用任何 C# 库或通用算法吗?

谢谢!!

罗伊

4

3 回答 3

2

对于Alvas.Audio,请参见下面的代码

byte[] data48khz = AudioCompressionManager.Convert(format8khz, format48khz, data8khz, false);

于 2011-01-11T02:57:08.410 回答
0

您的“声音播放速度过快”的问题可能与声卡有关。不确定您使用的是哪个操作系统,但我相信 Windows 在将样本定向到声卡之前会将所有音频流本地上采样到 44 或 48khz(因此它可以正确地将其与所有其他流混合)。所以我不确定你是否使用自己的代码进行上采样,如果你会得到任何改进。

您是否尝试过使用不同的 PC(运行不同的操作系统)或插入一些 USB 耳机以查看此问题是否一致?

于 2010-07-25T22:52:37.573 回答
0

您总是可以将Secret Rabbit Code移植到 C# 吗?

或者直接通过平台调用使用音频压缩管理器怎么样?

于 2010-07-07T11:43:09.423 回答