首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NAudio错误:"NoDriver调用acmFormatSuggest“

NAudio错误:"NoDriver调用acmFormatSuggest“
EN

Stack Overflow用户
提问于 2011-04-13 16:20:15
回答 3查看 10.2K关注 0票数 7

我有一个使用NAudio将mp3转换为wav的项目。(使用WaveFormatConversionStream.CreatePcmStream()方法)

它在我的开发机器上运行得很好,但是现在我正在一台新的服务器上试用它,它会抛出这个错误:

NAudio.MmException: NoDriver调用acmFormatSuggest

在NAudio.MmException.Try(MmResult结果,字符串函数)

在NAudio.Wave.Compression.AcmStream.SuggestPcmFormat(WaveFormat compressedFormat)

在NAudio.Wave.WaveFormatConversionStream.CreatePcmStream(WaveStream sourceStream)

我假设NAudio在这里需要一些不是在新服务器上的依赖项。它是什么,我应该从哪里安装它?

服务器是一个新孵化的Amazon 2008 32位实例,安装了“EC2服务器”和“应用服务器”角色。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-25 21:31:27

运行Windows2008Win,使用R2检测Wav和Mp3文件的长度,我遇到了同样的问题。

我通过以下方法解决了这个问题:https://technet.microsoft.com/en-us/library/cc772567.aspx

本质上,安装“桌面体验”功能。

以上所述将需要重新启动服务器。

一旦安装了上面的内容,我就不需要再启用任何功能,问题就解决了。

票数 7
EN

Stack Overflow用户

发布于 2011-04-14 06:10:40

WaveFormatConversionStream使用安装在计算机上的ACM编解码器。它首先询问是否安装了可以从源转换到目标格式的ACM编解码器。似乎您在目标机器上缺少了一个MP3编解码器。

NAudio确实提供了一种不同的方式来解码MP3s,使用DMO MP3解码器(DirectX Media Object),它也可能在目标机器上。要使用它,您需要从Codeplex获得最新的NAudio源代码,并在MP3FileReader (现在为您完成向PCM的转换)中,使用以下行:

代码语言:javascript
复制
decompressor = new AcmMp3FrameDecompressor(this.Mp3WaveFormat); 

并代之以

代码语言:javascript
复制
decompressor = new DmoMp3FrameDecompressor(this.Mp3WaveFormat); 
票数 2
EN

Stack Overflow用户

发布于 2017-08-12 14:19:35

多亏了@Shiroy,我找到了@MarkHeath的惊人的NLayer (https://github.com/naudio/NLayer)库。如果使用NLayer.NAudioSupport安装它,则可以使用一行额外的代码进行压缩(而不需要安装编解码器)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5652388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档