PDA

View Full Version : Mixer API questions


AlMed
09-02-2008, 06:55 PM
Hello, I intend to write a program for Pocket PC that uses Windows wave API. One of the features is recording audio. The sources of audio recording would be build-in microphone, headset microphone, Bluetooth headset or input from phone module. In desktop PC Windows provide capability to choose recording sources and control gains through the standard mixer program sndvol32.exe which is implementation of mixer API. I suppose that use of mixer API is only way to choose between sources. WinCE also implements this API, but in my RoverPC G5 (Atom Exec) function mixerGetNumDevs() returns 0. Zero means than mixer part is not implemented in wave driver. In Platform Builder there are sources for MDD/PDD and uniform wave drivers in which mixer part is implemented and mixerGetNumDevs() returns 1. One is also returns in some emulator versions of WM. I have done several tests of what mixerGetNumDevs() returns on different versions of WM, and results are:

Device / OS / mixerGetNumDevs()
-------------------------------------------------------------------
Device Emulator / Pocket PC 2003 SE (4.21.1088) / 0
Device Emulator / WM 5.0 Pocket PC R2 (5.1.1700) / 1
Device Emulator / WM 6 Professional (5.2.1235) / 1
RoverPC G5 (Atom Exec) / WM 5.0 for Pocket PC Phone Edition (5.1.195) / 0

It would be interesting to know which device drivers implement mixer part. I propose to run simple test and collect information in this topic.

Please run this test 69800 on your PDA or smartphone and post results.

ather90
09-02-2008, 07:06 PM
HTC Blue Angel / WINCE ver 5.2.1933 / 0

hjgode
23-07-2008, 08:18 AM
Hello alMed

did you success in working with mixer api?

As ms describes, you can use wavein/outmessage to control the audio mixer. the 1st arg can be a handle or an ID. Then you have to know a bunch of constants to control all possible lines.
Without a header file with the various consts used by a driver and a description this will be very hard to implement.

Let us know, how you get it to work.

regards

josef