2011-09-12 18 views
0

初めて私はPLAYボタンをクリックし、すべてが正常に動作しますが、次回は、それは、この行でエラーが発生します。NAudio生成エラー(後の2回目と)

waveOutDevice.Init(mainOutputStream); 

ことご覧くださいエラーの詳細についてはスクリーンショットをご覧ください。ここで、以下に私のコードのセクションである:

private void Play() 
    { 
     string audioFile = "temp.mp3"; 
     try 
     { 
      if (mainOutputStream != null) 
       mainOutputStream = null; 
      mainOutputStream = CreateInputStream(audioFile); 
     } 
     catch (Exception exc) 
     { 
      MessageBox.Show(exc.Message); 
     } 
     if (mainOutputStream != null) 
     { 
      waveOutDevice.Init(mainOutputStream); 
      waveOutDevice.Play(); 
     } 
     else 
     { 
      return; 
     } 

    } 

エラーコードがある:-2004287486

TargetSiteれる:{ボイドThrowExceptionForHRInternal(のInt32、のIntPtr)}

すべてこの上起こっています私の頭では、エラーサイトと(可能であれば)少しの説明と、もちろんこの状況の回避策を指摘してください。ありがとう。

Error Screenshot


UPDATE:応答のための

感謝。同じことを試しましたが、それと同じ問題です。ファイルは再び再生されますが、そのエラーメッセージは少し遅れて表示され続けます。エラーメッセージは、アプリケーション全体が閉じられてから数秒後に表示されることがあります。それは、ファイルが再生されるたびに、おそらく1度、複数回、1つずつ、複数回現れます。

答えて

0

エラーコードは0x88890002(AUDCLNT_E_ALREADY_INITIALIZED)です。これは、古い出力デバイスが正しく配置されていないことを示します。 waveOutDeviceを破棄し、次の再生のために新しいwaveOutDeviceを作成してください。

関連する問題