我遇到了DirectShow .NET中的一個錯誤,我創建了一個採樣率爲8khz的二級緩衝區,播放時,聲音播放時間約爲。 8.1khz代替。C#從8khz重新採樣音頻到44.1/48khz
使用谷歌搜索這個,我發現我可能會被迫自己將8khz音頻上採樣到48khz或44.1khz,具體取決於PC中的聲卡。
是否有任何C#庫或通用算法,我可以使用它?
謝謝!
Roey
我遇到了DirectShow .NET中的一個錯誤,我創建了一個採樣率爲8khz的二級緩衝區,播放時,聲音播放時間約爲。 8.1khz代替。C#從8khz重新採樣音頻到44.1/48khz
使用谷歌搜索這個,我發現我可能會被迫自己將8khz音頻上採樣到48khz或44.1khz,具體取決於PC中的聲卡。
是否有任何C#庫或通用算法,我可以使用它?
謝謝!
Roey
你總是可以端口Secret Rabbit Code到C#?
或者如何直接使用Audio Compression Manager通過platform invoke?
您的「聲音播放過快」的問題可能是聲卡特有的。不知道你使用的是哪一種操作系統,但我相信Windows在將樣本導向聲卡之前會自動將所有音頻流上採樣到44或48khz(因此它可以正確地將其與所有其他流混合)。所以我不確定你是否會用自己的代碼進行上傳,如果你有任何改進的話。
您是否嘗試過使用不同的PC(運行不同的操作系統)或插入某些USB耳機以查看此問題是否一致?
對於Alvas.Audio見下文
字節[] data48khz = AudioCompressionManager.Convert代碼(format8khz,format48khz,data8khz,FALSE);