waveInOpen,waveInClose问题释放资源

时间:2012-08-06 07:53:42

标签: c# .net compact-framework windows-ce

我正在WinCE上的.NET Compact上运行一些C#软件,它位于手持设备的TITAN板上。有人报告保存.wav文件时会出现间歇性错误,多次录制后设备有时无法录制,在设备重启之前不会再次录制。

我已经在开发工具包上复制了错误,并且通过调试已经看到,在录制.wav文件时,正在使用waveInOpen和waveInClose方法(来自coredll.dll)。但是,当问题发生时,waveInOpen返回MMSYSERROR.ALLOCATED,表示正在使用资源(误报)。从来没有时间调用waveInOpen而不调用waveInClose,以清除资源。

有没有人知道这个dll,硬件或强制资源释放的方法有什么问题,以便录制可以重新开始?

1 个答案:

答案 0 :(得分:1)

请注意,在使用Windows CE时,您不应该只是假设操作系统将100%可靠。 OEM必须创建驱动程序和OAL代码以使操作系统适应其硬件,并且肯定会在该过程中引入错误。

如果您100%确定您的打开和关闭调用已配对,那么听起来很像音频驱动程序本身存在问题。我建议您尽可能创建最简单的repro应用程序,然后将其传递给OEM的支持团队并让他们查看它。