C#重新采样音频从8khz到44.1 / 48khz

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

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

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

谢谢!!

Roey

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

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

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

或者如何通过平台调用直接使用音频压缩管理器 ?

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

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