簡體   English   中英

AcmNotPossible 調用 acmStreamOpen, naudio

[英]AcmNotPossible calling acmStreamOpen, naudio

我正在嘗試轉換一個

PCM S16 LE (araw)
Mono, Sample rate 22050, Bit pr. sample 16 

PCM mulaw (PCM MU-LAW)
Mono, Sample rate 8000hz, Bit pr. sample is 8. 

WaveFormat.CreateMuLawFormat(8000,1)或什至更通用的WaveFormat.CreateCustomFormat ,其中我指定了與源流相同的WaveFormatEncoding拋出相同的異常。

AcmNotPossible calling acmStreamOpen

我在這里錯過了什么嗎?

任何線索將不勝感激。

ACM mu-law 編碼器期望其輸入為 16 位。 如果您使用 mu 或 a-law,采樣率也可能很低。 以下兩行代碼將創建一個零長度的 PCM 16 位流並將其傳遞到 WaveFormatConversionStream 中以將其轉換為 a-law。 除非出於某種原因,您的機器上沒有安裝 G.711 編碼器,否則它不應引發“無法轉換”錯誤。

var s = new RawSourceWaveStream(new MemoryStream(), new WaveFormat(8000,16,1));
var c = new WaveFormatConversionStream(WaveFormat.CreateALawFormat(8000,1), s);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM