Windows 10 OS audio device selection
I'm looking for explanation, how audio input works in Windows 10 OS.
I have Asus laptop
with Windows 10 OS
and C#
WinForms
application, which usually uses inbuilt Microphone (Realtec High Definition Audio)
by default.
Additionally I have two USB Logitech Microphone (Webcam C210)
and Microphone (2- USB Audio Device)
.
I was thinking to use NAudio library reference to select and choose audio device manually to get system main audio input from application, but seems like it works automatically and does not requires manual selection to be selected, but it works in a certain way, which is not completely clear to me.
Insertion of Logitech automatically changes device in Sound Settings
Input device
to Logitech Microphone (Webcam C210)
from Microphone (Realtec High Definition Audio)
, but insertion of Microphone (2- USB Audio Device)
comes forward all regardless of whether it was plugged before the video camera microphone or after.
My goal is to select this particular microphone, so it is works as I need, but I can't understand how this hierarchy works, why system chooses this microphone, regardless of connection sequence. Because in another case, if some other microphone would be chosen by the system instead of my particular Microphone (2- USB Audio Device)
, then probably still I have to use manual switching with help of some method programmatically
Any guide, advice or example would be helpful
c# winforms audio windows-10 audio-device
|
show 4 more comments
I'm looking for explanation, how audio input works in Windows 10 OS.
I have Asus laptop
with Windows 10 OS
and C#
WinForms
application, which usually uses inbuilt Microphone (Realtec High Definition Audio)
by default.
Additionally I have two USB Logitech Microphone (Webcam C210)
and Microphone (2- USB Audio Device)
.
I was thinking to use NAudio library reference to select and choose audio device manually to get system main audio input from application, but seems like it works automatically and does not requires manual selection to be selected, but it works in a certain way, which is not completely clear to me.
Insertion of Logitech automatically changes device in Sound Settings
Input device
to Logitech Microphone (Webcam C210)
from Microphone (Realtec High Definition Audio)
, but insertion of Microphone (2- USB Audio Device)
comes forward all regardless of whether it was plugged before the video camera microphone or after.
My goal is to select this particular microphone, so it is works as I need, but I can't understand how this hierarchy works, why system chooses this microphone, regardless of connection sequence. Because in another case, if some other microphone would be chosen by the system instead of my particular Microphone (2- USB Audio Device)
, then probably still I have to use manual switching with help of some method programmatically
Any guide, advice or example would be helpful
c# winforms audio windows-10 audio-device
Usually what I have seen is in the sound panel whatever is listed as the default, then that is what's used as the default in the application. If your default (Realtek Mic) is disconnected and another Mic is plugged in it will default to the one plugged in. Now if this is for personal use you can program an "if statement" with the mics that " if Mic A is plugged in and Mic B gets plugged in you can override the default to use Mic B instead of Mic A." If that is what your going for? If so I will leave an answer below on how to accomplish that. I do that in my custom screen recorder.
– Halonic
Nov 23 '18 at 13:24
@Halonic Hello, well this actually what I'm going for, to get exactly thisMicrophone (2- USB Audio Device)
as main OS audio input if it is plugged. With particular set of devices, inbuiltRealtec
andC210
microphone,2- USB Audio Device
stands out without any C# code from my application. Everything works as needed, but at the same time I can't understand why does this microphone stand out when other devices are also connected, and how can I programmatically provide for the case if some any other microphone connected to the computer through USB will lead in this hierarchy
– Ai_ve
Nov 23 '18 at 17:18
@Halonic so seems like at least I need to know which microphone is chosen by system, to notice user in case if system chooses wrong microphone and allow choose correct one manually from OS audio settings, or from my application, last should be also solved programmatically, I guess, for example somehow with NAudio library using
– Ai_ve
Nov 23 '18 at 17:27
The way I have always known it is, what ever is set with default communication, defualt device... That is the one that stands out. You can also use the setaudiodevicetodefault(); as well and can list the microphones that are attached. I teach tutorials on YouTube for C# and I swap back and forth between OBS and my custom Screen Recorder. My screen recorder I can set what ever microphone as default in code by a combo box or have to auto default to my main Mic. If this is for other users then I would recommend a dropbox and let them choose... I will post an example in the answer shortly.
– Halonic
Nov 25 '18 at 12:46
@Halonic Well, I'm not quite understand what the method you described assetaudiodevicetodefault();
, which is able to change USB microphone device for Windows 10 OS main audio input with combo box from C# application. Can you provide any useful link or example? Because all I found is NAudio library, which should be able to do something like this.
– Ai_ve
Nov 26 '18 at 14:55
|
show 4 more comments
I'm looking for explanation, how audio input works in Windows 10 OS.
I have Asus laptop
with Windows 10 OS
and C#
WinForms
application, which usually uses inbuilt Microphone (Realtec High Definition Audio)
by default.
Additionally I have two USB Logitech Microphone (Webcam C210)
and Microphone (2- USB Audio Device)
.
I was thinking to use NAudio library reference to select and choose audio device manually to get system main audio input from application, but seems like it works automatically and does not requires manual selection to be selected, but it works in a certain way, which is not completely clear to me.
Insertion of Logitech automatically changes device in Sound Settings
Input device
to Logitech Microphone (Webcam C210)
from Microphone (Realtec High Definition Audio)
, but insertion of Microphone (2- USB Audio Device)
comes forward all regardless of whether it was plugged before the video camera microphone or after.
My goal is to select this particular microphone, so it is works as I need, but I can't understand how this hierarchy works, why system chooses this microphone, regardless of connection sequence. Because in another case, if some other microphone would be chosen by the system instead of my particular Microphone (2- USB Audio Device)
, then probably still I have to use manual switching with help of some method programmatically
Any guide, advice or example would be helpful
c# winforms audio windows-10 audio-device
I'm looking for explanation, how audio input works in Windows 10 OS.
I have Asus laptop
with Windows 10 OS
and C#
WinForms
application, which usually uses inbuilt Microphone (Realtec High Definition Audio)
by default.
Additionally I have two USB Logitech Microphone (Webcam C210)
and Microphone (2- USB Audio Device)
.
I was thinking to use NAudio library reference to select and choose audio device manually to get system main audio input from application, but seems like it works automatically and does not requires manual selection to be selected, but it works in a certain way, which is not completely clear to me.
Insertion of Logitech automatically changes device in Sound Settings
Input device
to Logitech Microphone (Webcam C210)
from Microphone (Realtec High Definition Audio)
, but insertion of Microphone (2- USB Audio Device)
comes forward all regardless of whether it was plugged before the video camera microphone or after.
My goal is to select this particular microphone, so it is works as I need, but I can't understand how this hierarchy works, why system chooses this microphone, regardless of connection sequence. Because in another case, if some other microphone would be chosen by the system instead of my particular Microphone (2- USB Audio Device)
, then probably still I have to use manual switching with help of some method programmatically
Any guide, advice or example would be helpful
c# winforms audio windows-10 audio-device
c# winforms audio windows-10 audio-device
edited Nov 21 '18 at 18:54
Ai_ve
asked Nov 21 '18 at 17:42
Ai_veAi_ve
268
268
Usually what I have seen is in the sound panel whatever is listed as the default, then that is what's used as the default in the application. If your default (Realtek Mic) is disconnected and another Mic is plugged in it will default to the one plugged in. Now if this is for personal use you can program an "if statement" with the mics that " if Mic A is plugged in and Mic B gets plugged in you can override the default to use Mic B instead of Mic A." If that is what your going for? If so I will leave an answer below on how to accomplish that. I do that in my custom screen recorder.
– Halonic
Nov 23 '18 at 13:24
@Halonic Hello, well this actually what I'm going for, to get exactly thisMicrophone (2- USB Audio Device)
as main OS audio input if it is plugged. With particular set of devices, inbuiltRealtec
andC210
microphone,2- USB Audio Device
stands out without any C# code from my application. Everything works as needed, but at the same time I can't understand why does this microphone stand out when other devices are also connected, and how can I programmatically provide for the case if some any other microphone connected to the computer through USB will lead in this hierarchy
– Ai_ve
Nov 23 '18 at 17:18
@Halonic so seems like at least I need to know which microphone is chosen by system, to notice user in case if system chooses wrong microphone and allow choose correct one manually from OS audio settings, or from my application, last should be also solved programmatically, I guess, for example somehow with NAudio library using
– Ai_ve
Nov 23 '18 at 17:27
The way I have always known it is, what ever is set with default communication, defualt device... That is the one that stands out. You can also use the setaudiodevicetodefault(); as well and can list the microphones that are attached. I teach tutorials on YouTube for C# and I swap back and forth between OBS and my custom Screen Recorder. My screen recorder I can set what ever microphone as default in code by a combo box or have to auto default to my main Mic. If this is for other users then I would recommend a dropbox and let them choose... I will post an example in the answer shortly.
– Halonic
Nov 25 '18 at 12:46
@Halonic Well, I'm not quite understand what the method you described assetaudiodevicetodefault();
, which is able to change USB microphone device for Windows 10 OS main audio input with combo box from C# application. Can you provide any useful link or example? Because all I found is NAudio library, which should be able to do something like this.
– Ai_ve
Nov 26 '18 at 14:55
|
show 4 more comments
Usually what I have seen is in the sound panel whatever is listed as the default, then that is what's used as the default in the application. If your default (Realtek Mic) is disconnected and another Mic is plugged in it will default to the one plugged in. Now if this is for personal use you can program an "if statement" with the mics that " if Mic A is plugged in and Mic B gets plugged in you can override the default to use Mic B instead of Mic A." If that is what your going for? If so I will leave an answer below on how to accomplish that. I do that in my custom screen recorder.
– Halonic
Nov 23 '18 at 13:24
@Halonic Hello, well this actually what I'm going for, to get exactly thisMicrophone (2- USB Audio Device)
as main OS audio input if it is plugged. With particular set of devices, inbuiltRealtec
andC210
microphone,2- USB Audio Device
stands out without any C# code from my application. Everything works as needed, but at the same time I can't understand why does this microphone stand out when other devices are also connected, and how can I programmatically provide for the case if some any other microphone connected to the computer through USB will lead in this hierarchy
– Ai_ve
Nov 23 '18 at 17:18
@Halonic so seems like at least I need to know which microphone is chosen by system, to notice user in case if system chooses wrong microphone and allow choose correct one manually from OS audio settings, or from my application, last should be also solved programmatically, I guess, for example somehow with NAudio library using
– Ai_ve
Nov 23 '18 at 17:27
The way I have always known it is, what ever is set with default communication, defualt device... That is the one that stands out. You can also use the setaudiodevicetodefault(); as well and can list the microphones that are attached. I teach tutorials on YouTube for C# and I swap back and forth between OBS and my custom Screen Recorder. My screen recorder I can set what ever microphone as default in code by a combo box or have to auto default to my main Mic. If this is for other users then I would recommend a dropbox and let them choose... I will post an example in the answer shortly.
– Halonic
Nov 25 '18 at 12:46
@Halonic Well, I'm not quite understand what the method you described assetaudiodevicetodefault();
, which is able to change USB microphone device for Windows 10 OS main audio input with combo box from C# application. Can you provide any useful link or example? Because all I found is NAudio library, which should be able to do something like this.
– Ai_ve
Nov 26 '18 at 14:55
Usually what I have seen is in the sound panel whatever is listed as the default, then that is what's used as the default in the application. If your default (Realtek Mic) is disconnected and another Mic is plugged in it will default to the one plugged in. Now if this is for personal use you can program an "if statement" with the mics that " if Mic A is plugged in and Mic B gets plugged in you can override the default to use Mic B instead of Mic A." If that is what your going for? If so I will leave an answer below on how to accomplish that. I do that in my custom screen recorder.
– Halonic
Nov 23 '18 at 13:24
Usually what I have seen is in the sound panel whatever is listed as the default, then that is what's used as the default in the application. If your default (Realtek Mic) is disconnected and another Mic is plugged in it will default to the one plugged in. Now if this is for personal use you can program an "if statement" with the mics that " if Mic A is plugged in and Mic B gets plugged in you can override the default to use Mic B instead of Mic A." If that is what your going for? If so I will leave an answer below on how to accomplish that. I do that in my custom screen recorder.
– Halonic
Nov 23 '18 at 13:24
@Halonic Hello, well this actually what I'm going for, to get exactly this
Microphone (2- USB Audio Device)
as main OS audio input if it is plugged. With particular set of devices, inbuilt Realtec
and C210
microphone, 2- USB Audio Device
stands out without any C# code from my application. Everything works as needed, but at the same time I can't understand why does this microphone stand out when other devices are also connected, and how can I programmatically provide for the case if some any other microphone connected to the computer through USB will lead in this hierarchy– Ai_ve
Nov 23 '18 at 17:18
@Halonic Hello, well this actually what I'm going for, to get exactly this
Microphone (2- USB Audio Device)
as main OS audio input if it is plugged. With particular set of devices, inbuilt Realtec
and C210
microphone, 2- USB Audio Device
stands out without any C# code from my application. Everything works as needed, but at the same time I can't understand why does this microphone stand out when other devices are also connected, and how can I programmatically provide for the case if some any other microphone connected to the computer through USB will lead in this hierarchy– Ai_ve
Nov 23 '18 at 17:18
@Halonic so seems like at least I need to know which microphone is chosen by system, to notice user in case if system chooses wrong microphone and allow choose correct one manually from OS audio settings, or from my application, last should be also solved programmatically, I guess, for example somehow with NAudio library using
– Ai_ve
Nov 23 '18 at 17:27
@Halonic so seems like at least I need to know which microphone is chosen by system, to notice user in case if system chooses wrong microphone and allow choose correct one manually from OS audio settings, or from my application, last should be also solved programmatically, I guess, for example somehow with NAudio library using
– Ai_ve
Nov 23 '18 at 17:27
The way I have always known it is, what ever is set with default communication, defualt device... That is the one that stands out. You can also use the setaudiodevicetodefault(); as well and can list the microphones that are attached. I teach tutorials on YouTube for C# and I swap back and forth between OBS and my custom Screen Recorder. My screen recorder I can set what ever microphone as default in code by a combo box or have to auto default to my main Mic. If this is for other users then I would recommend a dropbox and let them choose... I will post an example in the answer shortly.
– Halonic
Nov 25 '18 at 12:46
The way I have always known it is, what ever is set with default communication, defualt device... That is the one that stands out. You can also use the setaudiodevicetodefault(); as well and can list the microphones that are attached. I teach tutorials on YouTube for C# and I swap back and forth between OBS and my custom Screen Recorder. My screen recorder I can set what ever microphone as default in code by a combo box or have to auto default to my main Mic. If this is for other users then I would recommend a dropbox and let them choose... I will post an example in the answer shortly.
– Halonic
Nov 25 '18 at 12:46
@Halonic Well, I'm not quite understand what the method you described as
setaudiodevicetodefault();
, which is able to change USB microphone device for Windows 10 OS main audio input with combo box from C# application. Can you provide any useful link or example? Because all I found is NAudio library, which should be able to do something like this.– Ai_ve
Nov 26 '18 at 14:55
@Halonic Well, I'm not quite understand what the method you described as
setaudiodevicetodefault();
, which is able to change USB microphone device for Windows 10 OS main audio input with combo box from C# application. Can you provide any useful link or example? Because all I found is NAudio library, which should be able to do something like this.– Ai_ve
Nov 26 '18 at 14:55
|
show 4 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53417806%2fwindows-10-os-audio-device-selection%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53417806%2fwindows-10-os-audio-device-selection%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Usually what I have seen is in the sound panel whatever is listed as the default, then that is what's used as the default in the application. If your default (Realtek Mic) is disconnected and another Mic is plugged in it will default to the one plugged in. Now if this is for personal use you can program an "if statement" with the mics that " if Mic A is plugged in and Mic B gets plugged in you can override the default to use Mic B instead of Mic A." If that is what your going for? If so I will leave an answer below on how to accomplish that. I do that in my custom screen recorder.
– Halonic
Nov 23 '18 at 13:24
@Halonic Hello, well this actually what I'm going for, to get exactly this
Microphone (2- USB Audio Device)
as main OS audio input if it is plugged. With particular set of devices, inbuiltRealtec
andC210
microphone,2- USB Audio Device
stands out without any C# code from my application. Everything works as needed, but at the same time I can't understand why does this microphone stand out when other devices are also connected, and how can I programmatically provide for the case if some any other microphone connected to the computer through USB will lead in this hierarchy– Ai_ve
Nov 23 '18 at 17:18
@Halonic so seems like at least I need to know which microphone is chosen by system, to notice user in case if system chooses wrong microphone and allow choose correct one manually from OS audio settings, or from my application, last should be also solved programmatically, I guess, for example somehow with NAudio library using
– Ai_ve
Nov 23 '18 at 17:27
The way I have always known it is, what ever is set with default communication, defualt device... That is the one that stands out. You can also use the setaudiodevicetodefault(); as well and can list the microphones that are attached. I teach tutorials on YouTube for C# and I swap back and forth between OBS and my custom Screen Recorder. My screen recorder I can set what ever microphone as default in code by a combo box or have to auto default to my main Mic. If this is for other users then I would recommend a dropbox and let them choose... I will post an example in the answer shortly.
– Halonic
Nov 25 '18 at 12:46
@Halonic Well, I'm not quite understand what the method you described as
setaudiodevicetodefault();
, which is able to change USB microphone device for Windows 10 OS main audio input with combo box from C# application. Can you provide any useful link or example? Because all I found is NAudio library, which should be able to do something like this.– Ai_ve
Nov 26 '18 at 14:55