waveInOpen,waveInClose释放资源
我在WinCE上的.NET Compact上运行了一些C#软件,它位于手持设备中的TITAN板上。 有一些间歇性错误报告,当.wav文件被保存时,多次记录设备有时无法记录,并且在设备重新启动之前不会重新执行。
我已经在开发工具包上复制了错误,并且通过调试发现,在录制.wav文件时,正在使用waveInOpen和waveInClose方法(来自coredll.dll)。 但是,当问题发生时,waveInOpen正在返回MMSYSERROR.ALLOCATED,表示正在使用资源(误报)。 在没有waveInClose被调用之后调用waveInOpen来清除资源时,永远不会有任何时间。
有没有人知道这个DLL,硬件的任何问题,或强制资源释放的方式,以便录制可以重新开始?
请注意,在使用Windows CE时,您绝不应该假定操作系统将100%可靠。 OEM必须创建驱动程序和OAL代码以使操作系统适应其硬件,并且在该过程中肯定会引入错误。
如果您100%确定您打开和关闭的呼叫已配对,那么听起来很像音频驱动程序本身存在问题。 我建议您创建最简单的repro应用程序,然后将其传递给repro,然后再向OEM的支持团队请求它们查看它。
链接地址: http://www.djcxy.com/p/53665.html