waveInOpen, waveInClose issue freeing resources

I'm running some C# software on .NET Compact in WinCE, which is on a TITAN board in a handheld device. There have been reports of intermittent errors when .wav files are saved, that after multiple times recording the device sometimes fails to record, and will not do so again until the device has been restarted.

I've replicated the error on a Dev kit, and through debugging have seen that when recording .wav files, the waveInOpen and waveInClose methods are being used (from coredll.dll). However, when the problem occurs, waveInOpen is returning MMSYSERROR.ALLOCATED, indicating the resources are being used (a false positive). There is never a time when waveInOpen is called without waveInClose being called after, to clear the resource.

Does anyone know any problems with this dll, the hardware, or a way to force the resources to free so that recording can recommence?


Be aware that when working with Windows CE, you should never just assume that the OS is going to be 100% reliable. The OEM has to create drivers and OAL code to adapt the OS to their hardware, and there can certainly be bugs introduced in that process.

If you're 100% sure that your calls to Open and Close are paired, then it sounds a lot like there's a problem in the audio driver itself. I'd recommend creating the simplest repro app you can, then pass it and the repro steps off to the OEM's support team and ask them to look into it.

链接地址: http://www.djcxy.com/p/53666.html

上一篇: 从流中转换SOAP消息

下一篇: waveInOpen,waveInClose释放资源