当前位置: 首页 > 编程语言 > C#

NAudioError--NoDrivercallsacmFormatSuggest-分享

时间:2023-04-10 16:21:50 C#

NAudioError:"NoDrivercallsacmFormatSuggest"我有一个项目使用NAudio从mp3转换为wav。(使用WaveFormatConversionStream.CreatePcmStream()方法)它在我的开发机器上运行良好,但现在我在新服务器上尝试它并抛出此错误:NAudio.MmException:NoDrivercalledacmFormatSuggestatNAudio.MmException.Try(MmResult结果,stringfunction)atNAudio.Wave.Compression.AcmStream.SuggestPcmFormat(WaveFormatcompressedFormat)atNAudio.Wave.WaveFormatConversionStream.CreatePcmStream(WaveStreamsourceStream)我假设NAudio需要一些不在新服务器上的依赖项。它是什么,我应该在哪里安装它?服务器是一个全新设置的AmazonEC2Windows200832位实例,安装了“Web服务器”和“应用程序服务器”角色。运行Windows2008R2,使用Naudio检测Wav和Mp3文件的长度,我遇到了同样的问题。我解决了这个问题:https://technet.microsoft.com/en-us/library/cc772567.aspx基本上,安装“桌面体验”功能。以上将需要重新启动服务器。安装上面的之后,我需要进一步启用,问题就解决了。WaveFormatConversionStream使用安装在您机器上的ACM编解码器。它首先询问是否安装了可以从源格式转换为目标格式的ACM编解码器。您似乎在目标机器上缺少MP3编解码器。NAudio确实提供了一种不同的解码MP3的方法,使用DMOMP3解码器(DirectX媒体对象),它也可能在您的目标机器上。要使用它,您需要从Codeplex和MP3FileReader(现在为您转换为PCM)获取最新的NAudio源,您可以使用以下行:decompressor=newAcmMp3FrameDecompressor(this.Mp3WaveFormat);并将其替换为decompressor=newDmoMp3FrameDecompressor(this.Mp3WaveFormat);感谢@Shiroy,我找到了很棒的NLayer(https://github.com/naudio/NLayer)库@MarkHeath。如果你用NLayer.NAudioSupport安装它,你可以用一行额外的代码来压缩它(你不需要安装编解码器)。以上就是C#学习教程:NAudioerror:"NoDrivercallsacmFormatSuggest"分享的全部内容,如果对您有用还需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处: