【问题标题】:NAudio in Windows Azure /Windows Server 2008 R2Windows Azure /Windows Server 2008 R2 中的 NAudio
【发布时间】:2011-03-07 15:12:35
【问题描述】:

我正在使用NAudio 为 Windows Azure 产品合并几个 mp3 文件。它在开发环境中运行良好,但是一旦我将其上传到 Azure,我就会收到“No Drive Calling 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 中恢复。

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

【问题讨论】:

    标签: audio azure windows-server-2008-r2 naudio


    【解决方案1】:

    我自己也解决了这个问题,以下是要遵循的步骤:

    手动:

    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)并使用 VERIFY > NUL 将其静音。

    【讨论】:

    【解决方案2】:

    查看我对this question 的回复。此外,您需要确保您运行的是 32 位进程,因为大多数 ACM 都是 32 位的。

    【讨论】:

      猜你喜欢
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多