2016-04-19 2 views
0

Я использую NAudio для получения информации в формате MP3, а также для слияния двух или более файлов MP3. Он отлично работает на localhost, но когда я публикую сайт на AZURE, он выдает ошибку «NoDriver, вызывающий acmFormatSuggest»NoDriver вызов acmFormatSuggest на Azure

ответ

0

Я предполагаю, что вы пытаетесь использовать что-то, что не установлено на машине в Azure - в вашем случае это ACM MP3-декодер. На клиентской Windows он может быть предварительно установлен, но я не думаю, что сервер Windows может иметь его. Также я подозреваю, что что-то подобное не будет разрешено запускать в Azure Web Apps (похоже, вы пытаетесь это использовать).

Итак, я предлагаю вам использовать виртуальную машину для этого и установить необходимые компоненты здесь или использовать что-то программное обеспечение. Я нашел:

new Mp3FileReader(stream,wave=> new DmoMp3FrameDecompressor(wave)) 

Похоже, что он может использоваться в вашем случае. Не могли бы вы попробовать?

+0

Я пробовал это. Теперь ошибка изменилась. Получение фабрики COM-класса для компонента с CLSID {BBEEA841-0A63-4F52-A7AB-A9B3A84ED38A} завершилось ошибкой из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Я гарантирую, что Мой сайт работает на 32-разрядном Azure –

+0

Привет, да, хорошо, что вы гарантировали, что он работает на 32-битном веб-сайте, но похоже, что в Azure Web Apps нет необходимых компонентов. Я полагаю, для этого вы должны выполнить описанные здесь шаги - http://stackoverflow.com/questions/5221294/naudio-in-windows-azure-windows-server-2008-r2?rq=1. Проблема в том, что поверхность управления Azure Web Apps не очень широка. Можете ли вы оценить перенос облачных сервисов, где вы можете запускать задачи запуска и устанавливать необходимые компоненты или даже виртуальную машину? –

0

Как сказал Алекс, это потому, что кодеки MP3 (как ACM, так и DMO) отсутствуют на сервере. Ваши варианты - найти способ их установки или использовать полностью управляемый MP3-декодер, такой как NLayer.