我正在尝试将一个
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我是不是漏掉了什么?
任何线索都将非常感谢。
发布于 2012-11-30 16:13:39
ACMµ律编码器期望其输入是16位。如果您使用的是µ或a-law,则采样率可能也会很低。下面两行代码将创建PCM16位的零长度流,并将其传递到WaveFormatConversionStream中以将其转换为a律。它不应该抛出“转换不可能”的错误,除非由于某些原因你的机器上没有安装G.711编码器。
var s = new RawSourceWaveStream(new MemoryStream(), new WaveFormat(8000,16,1));
var c = new WaveFormatConversionStream(WaveFormat.CreateALawFormat(8000,1), s);https://stackoverflow.com/questions/13628145
复制相似问题