Link to home
Start Free TrialLog in
Avatar of vladimir_12345
vladimir_12345

asked on

Question for Chensu

Hi Chensu!
I'd like to ask in continue of my previous question.
In mixer WaveInput/MixerList there are a few items.
The function mixerGetControlDetails() returns or its values
or its text descriptions.
How I can know what item is the "microphone select".
To use text descriptions is not safe because I think
text descriptions can be or non-standard or not in English.
Thanks, Vladimir_12345
 
ASKER CERTIFIED SOLUTION
Avatar of chensu
chensu
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of vladimir_12345
vladimir_12345

ASKER

Hi Chensu, thanks for your idea.
But it need in more accurate definition.
mixerGetLineInfo (MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE) returns
microphone line id for DST Speakers.
But mixerGetControlDetails (MIXERCONTROLDETAILS_LISTTEXT) returns
line ids for DST WaveInput.
If call mixerGetLineInfo() for every line ids from
mixerGetControlDetails (MIXERCONTROLDETAILS_LISTTEXT)
and to compare dwComponentType with MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE
it is possible to find "microphone select".
Chensu, from where you know so many about sound cards?
My e-mail: vladimir@comfy.co.il
Thanks again, Vladimir_12345

Yes, you are right. Thank you for correcting me. Let me refine it.

There are normally two (or more) MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE source audio lines. One is for MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination audio line and another is for MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination audio line. mixerGetLineInfo(MIXER_GETLINEINFOF_COMPONENTTYPE, MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE) only returns the information about the first audio line of the type MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE. So, call mixerGetLineInfo(MIXER_GETLINEINFOF_LINEID, dwLineID) to get the dwComponentType and compare it with MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE. The dwLineID is obtained from the dwParam1 member returned by mixerGetControlDetails (MIXERCONTROLDETAILS_LISTTEXT).

My knowledge about sound cards is just average. I am just interested in it.
Hi Chensu! To finish with the mixer discussion what do you
think: first audio line MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE
is always in MIXERLINE_COMPONENTTYPE_DST_SPEAKERS (if it's present)or not? It is impossible to say that there is too many mixer info in help.



I think it depends on the device driver. It is not compulsory although most of the device drivers do so.