0

NAudioを使用して、WindowsAzure 製品用にいくつかのmp3ファイルをマージしています。開発環境では正常に動作しますが、Azureにアップロードすると、「ドライブがacmFormatSuggestを呼び出していません」というエラーが発生します。

これは、問題を修正するためにWindowsAzureBoxでこれまでに行ったことのリストです。

(i)有効なWindowsオーディオサービス(ii)WindowsMediaPlayerでサポートされているFraunhoferIISMPEGLayer-3ACMコーデックをインストールしました。(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)を明示的にチェックして、無音にする必要があります。 VERIFY>NULを使用します。

于 2012-06-26T10:07:48.877 に答える
1

この質問に対する私の答えを参照してください。また、ほとんどのACMは32ビットであるため、32ビットプロセスを実行していることを確認する必要があります。

于 2011-04-14T06:24:37.297 に答える