[wdmaudiodev] Re: Microphone Type

  • From: "Kelly Johnson" <kjohnson@xxxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 18 Sep 2006 12:30:10 -0600

Thanks Mitch.  It works great!



Kelly Johnson

Sr. Software Engineer

Andrea Electronics


(801) 785-9156



From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Mitchell Rundle
Sent: Monday, September 18, 2006 12:05 PM
To: 'wdmaudiodev@xxxxxxxxxxxxx'
Subject: [wdmaudiodev] Re: Microphone Type


You are looking for the "form factor".  The following code should do it


    EndpointFormFactor      formFactor;
    CComPtr<IPropertyStore> spProperties;


    hr = pEndpoint->OpenPropertyStore(STGM_READ, &spProperties);
    if (SUCCEEDED(hr))
        hr = spProperties->GetValue(PKEY_AudioEndpoint_FormFactor, &var);
        if (SUCCEEDED(hr) && (var.vt == VT_UI4))
            formFactor = (EndpointFormFactor)var.ulVal;




EndpointFormFactor is defined in mmdeviceapi.h.


Mitch Rundle
Microsoft Corporation


This posting is provided "AS IS" with no warranties, and confers no rights.



From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Kelly Johnson
Sent: Monday, September 18, 2006 10:13 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Microphone Type

When I get the default endpoint, I need to know its type, ie Microphone vs
LineIn.  I'm currently querying all the properties, but I don't see anything
that looks dependable.  I can't go off the name, since this has to run in
many languages.


After querying all the properties for both the microphone and LineIn, the
only differences I saw are the name, and one other property (idx 4) that I
don't know what it is.


So the question is:  Given the default capture endpoint, how do I know if
it's for a microphone or Line In? 



Other related posts: