2010-07-07 104 views
2

我遇到了DirectShow .NET中的一个错误,我创建了一个采样率为8khz的二级缓冲区,播放时,声音播放时间约为。 8.1khz代替。C#从8khz重新采样音频到44.1/48khz

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

是否有任何C#库或通用算法,我可以使用它?

谢谢!

Roey

回答

0

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

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

2

对于Alvas.Audio见下文

字节[] data48khz = AudioCompressionManager.Convert代码(format8khz,format48khz,data8khz,FALSE);