我正在尝试将一个.wav转换为一个.mp3文件。我的代码通常正常工作,但现在我得到了一个与Imovie一起导出的.wav文件,并得到了错误'NoDriver调用acmFormatSuggest‘。
互联网显示我的机器丢失了一个编解码器。但是如果我运行这个文件,我的机器可以用标准的windows媒体播放器播放文件,所以我猜它就在我的机器上。
当我将文件放入https://www.metadata2go.com/中时,我可以看到问题文件的编解码器pcm_s24le的采样率为48000。
当我使用相同的编解码器pcm_s24le创建一个文件,但样本速率为44100时,代码不会触发此错误。因此,问题似乎在于组合编解码-样本率。
N音频的github页面引用带有指南的此页来修复错误。它说在选项5下(我只是在我的示例中回放一个wav文件)
您需要做的是搜索网络上的ACM编解码器,它可以解码您正在使用的格式。不幸的是,这并不总是一个简单的过程,
不幸的是,它没有提供任何帮助,如何或在哪里找到这些编解码器。而且,由于我能够播放文件和相同的编解码器的不同样本率工作良好,我也不确定这是实际的问题。
我的代码运行在Windows11pro v21H2上。
以下基本代码(这不是我的转换代码)引发错误
var outputDevice = new WaveOutEvent();
var audioFile = new AudioFileReader(path);
outputDevice.Init(audioFile);
outputDevice.Play();打开wav文件并以不同的采样率保存它似乎解决了这个问题,但这是我宁愿不做的体力劳动,因为在我的情况下可能有很多文件需要转换。
任何想法都将不胜感激。
发布于 2022-04-24 09:50:07
它似乎有一些组件可以对.WAV文件进行重采样,如本页所述:如何用NAudio重采样音频。
https://stackoverflow.com/questions/71796995
复制相似问题