3

ハンドヘルド デバイスの TITAN ボード上にある WinCE の .NET Compact でいくつかの C# ソフトウェアを実行しています。.wav ファイルの保存時に断続的なエラーが報告されており、複数回録音した後、デバイスが録音に失敗し、デバイスを再起動するまで録音に失敗することがあります。

開発キットでエラーを再現しました。デバッグにより、.wav ファイルを記録するときに、waveInOpen メソッドと waveInClose メソッドが (coredll.dll から) 使用されていることがわかりました。ただし、問題が発生すると、waveInOpen は MMSYSERROR.ALLOCATED を返し、リソースが使用されていることを示します (誤検知)。リソースをクリアするために、後で waveInClose が呼び出されずに waveInOpen が呼び出されることはありません。

このdll、ハードウェア、または記録を再開できるようにリソースを強制的に解放する方法に関する問題を知っている人はいますか?

4

1 に答える 1

1

Windows CE を使用する場合は、OS が 100% 信頼できると単純に想定してはならないことに注意してください。OEM は、OS をハードウェアに適合させるためにドライバーと OAL コードを作成する必要があり、そのプロセスでバグが発生する可能性があります。

Open と Close の呼び出しがペアになっていることを 100% 確信している場合は、オーディオ ドライバー自体に問題があるように思えます。できる限り簡単な再現アプリを作成し、それを渡し、再現が OEM のサポート チームに送られ、調査を依頼することをお勧めします。

于 2012-08-06T14:18:01.113 に答える