我必须使用 NAudio 使用最好的编解码器压缩音频 WAV。我使用 WaveFormatConversionStream,但我总是得到这个错误:
"AcmNotPossible calling acmStreamOpen"
我已经阅读了很多关于这个错误的答案,但我没有找到解决方案。
这是我的代码,我错在哪里?
所有的帮助都会很好,欢迎:)
private void InvokeOnNewAudioData(byte[] data, AudioFormat audioFormat)
{
WaveFormat waveFormat = new WaveFormat(audioFormat.NumberSamplesPerSec, audioFormat.NumberBitsPerSample, audioFormat.NumberChannels);
WaveFormat targetFormat = WaveFormat.CreateCustomFormat(WaveFormatEncoding.Vorbis1,
22000, //SampleRate
audioFormat.NumberChannels, //Channels
48000, //Average Bytes per Second
2, //Block Align
16); //Bits per Sample
using (MemoryStream dataStream = new MemoryStream(data))
{
using (WaveStream inputStream = new RawSourceWaveStream(dataStream, waveFormat))
{
try
{
using (WaveFormatConversionStream converter = new WaveFormatConversionStream(targetFormat, inputStream))
{
}
}
catch (Exception)
{
throw;
}
}
}
}