NAudio в Windows Azure / Windows Server 2008 R2 - PullRequest
0 голосов
/ 07 марта 2011

Я использую NAudio объединить несколько файлов mp3 вместе для продукта Windows Azure. Он отлично работает в среде разработчика, но как только я загружаю его в Azure, я получаю ошибку «No Drive Calling acmFormatSuggest».

Вот список действий, которые я сделал до сих пор в Windows Azure Box, пытаясь решить эту проблему.

(i) Включена звуковая служба Windows (ii) Установлен кодек ACM Fraunhofer IIS MPEG Layer-3, поддерживаемый проигрывателем Windows Media. (iii) Установлен кодек Lame Mp3 (iv) Установлен кодек K-Lite

Сам процесс является рабочим процессом и работает с полным доверием. Сам код читает файлы mp3 из BLOB-объекта, объединяет их вместе с помощью локального файла и восстанавливает его в BLOB-объекте.

Любые идеи или предложения будут очень полезны.

Ответы [ 2 ]

4 голосов
/ 26 июня 2012

Я боролся с этим сам, и вот следующие шаги:

Вручную:

  1. С помощью диспетчера сервера вы можете добавить функцию Windows «Рабочий стол»опыт работы *
  2. Перезагрузите сервер в соответствии с запросом (необходимо, чтобы он вступил в силу)
  3. Теперь вы можете использовать обычный аудиокодек Mp3, который использует NAudio (вам не нужен Dmo-код)

Автоматически (развертывания Azure):

Добавьте эти команды в задачу запуска Startup.cmd в Azure для своей роли:

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.

1 голос
/ 14 апреля 2011

Смотрите мой ответ на этот вопрос .Кроме того, вы должны быть уверены, что выполняете 32-битный процесс, так как большинство ACM являются 32-битными.

...