2010-07-07 53 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);