0

我正在使用NAudio 将几个 mp3 文件合并到一个 Windows Azure 产品中。它在开发环境中运行良好,但是一旦我将它上传到 Azure,我就会收到“没有驱动器调用 acmFormatSuggest”错误。

这是迄今为止我在 Windows Azure Box 上所做的事情的列表,试图解决这个问题。

(i) 启用 Windows 音频服务 (ii) 安装了 Windows Media Player 支持的 Fraunhofer IIS MPEG Layer-3 ACM 编解码器。(iii) 安装了 Lame Mp3 编解码器 (iv) 安装了 K-Lite 编解码器

该进程本身是一个工作进程,并且在完全信任下运行。代码本身从 blob 中读取 mp3 文件,使用本地文件将其合并在一起并在 blob 中恢复。

任何想法或建议都会非常有帮助。

4

2 回答 2

4

我自己对此进行了斗争,这些是要遵循的步骤:

手动:

  1. 通过服务器管理器,您可以添加 Windows 功能“桌面体验”
  2. 按要求重启服务器(你必须让它生效)
  3. 您现在可以使用 NAudio 使用的常规 Mp3 音频编解码器(您不需要 Dmo 之一)

自动(Azure 部署):

为您的角色将这些命令添加到 Azure 中的 Startup.cmd 启动任务:

echo Begin Install Desktop Experience Feature (for sound codec) >> startup.log
ServerManagerCMD.exe -install Desktop-Experience -restart -resultPath     desktopexperience_results.xml
REM This return code indicates the feature is already installed. Reset the errorlevel to zero using the verify command.
IF %ERRORLEVEL% EQU 1003 (
    echo Windows feature is already installed >> startup.log
    VERIFY > NUL
)
echo End Install Desktop Experience Feature >> startup.log

请注意,此脚本返回零的结果代码 (%ERRORLEVEL%) 很重要(上面将执行此操作,除非有任何实际问题)。

ServerManagerCMD 将在不需要安装该功能时返回一个非零错误代码(可能是因为它已经从以前的 Startup.cmd 运行中安装),因此我们明确需要检查该代码(1003)并将其静音使用验证 > NUL。

于 2012-06-26T10:07:48.877 回答
1

请参阅我对这个问题的回答。此外,您需要确保您运行的是 32 位进程,因为大多数 ACM 都是 32 位的。

于 2011-04-14T06:24:37.297 回答