My audio driver worked fine on Windows CE 3.0, but it sounds terrible under Windows CE .NET. How can I fix it?
Prior to Windows CE .NET, audio drivers often failed to properly support streaming because streaming was seldom tested or exercised. The Windows CE .NET software mixer, which allows multiple sounds to be played simultaneously, always streams audio data to the driver in relatively small buffers (2-4KB). The two most common reasons for incorrect streaming are: • Oversized Direct Memory Access (DMA) buffers • Failure to handle audio interrupts properly The fix for the first problem (oversized DMA buffers) is to reduce DMA buffer size to 2k, or to use a registry override to increase the size of the buffers being sent from the software mixer (Platform Builder documentation explains how to do this—search for “SoftwareMixer”). The latter approach is not recommended, though, since it increases audio latency and degrades the user experience. The actual fix for the second issue requires case-by-case debugging of the driver to determine the problem.
Related Questions
- How do I play music through the Overture 192 audio interface and make Windows system sounds come out of my PC audio output?
- My audio driver worked fine on Windows CE 3.0, but it sounds terrible under Windows CE .NET. How can I fix it?
- Where do I download a Windows 2000 audio driver for the Lippert Cool RoadRunner II?