gpt4 book ai didi

c# - 使用 NAudio 压缩音频 WAV - 错误 AcmNotPossible 调用 acmStreamOpen

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:23 26 4
gpt4 key购买 nike

我必须使用 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;
}
}
}
}

最佳答案

这意味着您的系统上没有可以执行请求的转换的 ACM 编解码器。您可以使用 NAudio 附带的 NAudioDemo 应用程序来检查您在系统上安装的所有 ACM 编解码器及其支持的输入和输出格式。 Windows 肯定没有附带 Vorbis ACM 编解码器,这可能就是您的代码不起作用的原因。即使您安装了 Vorbis ACM 编解码器,您也需要完全正确设置 WaveFormat,否则您将收到 ACM not possible 错误。

您可能最好尝试使用 NVorbis 附带的 NAudio 支持无论如何。

关于c# - 使用 NAudio 压缩音频 WAV - 错误 AcmNotPossible 调用 acmStreamOpen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13953991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com