44

This question already has an answer here:

Googling for solutions to this problem seems to lead to third party solutions like this, sometimes with scripting like this. I'm no stranger to either, but It seems crazy to me that there isn't a better solution.

I'm on Windows 10. I use HDMI audio to my monitor from my AMD video card, and I use a set of headphones plugged into the back of my motherboard. I use both often, but right now I need to tediously switch the default playback device to switch between them (sometimes, for reasons I don't yet know how to replicate, I even need to fully disable the device currently making sounds.


This is what I see in the volume mixer after starting my computer up with AMD HDMI as the default, and opening Chrome to watch a video:

AMD HDMI is playing System Sounds and Chrome's audio.

When I switch to the Speakers device

About to select Speakers device.

I see that it is not assigned any applications, and I see no way to reassign applications:

Speakers device is lonely.

I can usually hammer all of the applications over to the Speakers device by switching the default playback device, and usually vice versa. But that sometimes that only switches some applications, and sometimes it doesn't do anything. But that's besides the point...

How can I assign an application to a specific audio playback device? The Volume Mixer looks like the right place, but it doesn't seem to do it unless I'm missing something.

marked as duplicate by DavidPostill windows Nov 19 '16 at 13:18

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    Like many others, I'm coming from Google. I'd just like to make an additional question: Why on earth would Windows recognize per-application audio output and yet does not allow us to change? It would be far better just not provide this feature at all and let us pick a single device for all output. It's so frustrating. – Henrique Jung Nov 20 '17 at 21:31
  • @HenriqueJung basically because is not a windows task to do so. What you change in windows is actually default audio device but application can select any audio device it likes. Some apps can handle this change and switch device when user switches default device but many may not. It's quit easier for OS to change volume of the app than force it to switch audio context. In many cases it may be even not posible. For ex. how to handle DTS sound on devices that dose not support it etc. That why windows left decision on which sound device should be played music to an application. – Logman May 31 '18 at 13:04
  • I wish this question wasn't closed without a single answer mentioning that Windows 10 does let you configure output, and input, audio per application. I also wonder why the hell Google always send me the duplicate instead of the original answer (well, observation bias -- I don't know there are duplicates when I'm sent to the original, but it still bothers me!). – Daniel C. Sobral Sep 10 '18 at 16:59
50

Found a free (GPL) alternate and thought I would throw it out there for anyone else stumbling in from google... before anyone throws away $20 to CheVolume or installs their adware-containing trial software (at least according to my AV scan on version 0.5.0.0, downloaded directly from their site).

found something called Audio Router on reddit / github / alternative.to

https://github.com/audiorouterdev/audio-router

I'm on Win 7 SP1 x64. I've only been playing with it for about 2 minutes but it's correctly playing my Firefox (youtube) audio through the TV and my game (SR3) audio via my headset with minimal effort. I think I might have a winner.

Will report back if I run into any probs. Otherwise, if all works I'll have to kick the guy a few bucks as a thank you; looked like there was a paypal link on his github page

  • This looks like the ideal solution. Do report back if you find issues. – kdbanman Jun 10 '16 at 3:56
  • 4
    This seems to crash windows 10 apps. – Brain2000 Aug 7 '16 at 18:48
  • I was able to achieve this using Windows only. Set your default device to headphones and you're good to go. – alcfeoh Nov 22 '16 at 19:27
  • 1
    It's amazing Windows doesn't have this. Forced to switch to Windows 10 in my new job after using Linux for 8 years and the sound control has been driving me insane it's so poor compared to Linux alternatives. – twigg Jun 22 '17 at 9:20
  • Also see this crashing some apps in Windows 10. NVidia ShadowPlay for one. Also cannot duplicate/reroute PUBG to a different audio playback device (e.g. Virtual Audio Cable). – Roy Nov 1 '17 at 16:44
5

Go to "Playback devices" and disable the type of output you want to unassign from the app. The application will automatically switch to the next available sound output, and you can then re-enable disabled output device.

  • 2
    And how do I assign an app back to that disabled output device? My question is about putting different apps on different playback devices. – kdbanman Aug 15 '16 at 21:05
  • Welcome to Super User! This is really a comment and not an answer to the original question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post. Please read Why do I need 50 reputation to comment? What can I do instead? – DavidPostill Aug 16 '16 at 7:28
  • Alternately disabling the device you don't want to use would be tedious indeed. If, however, as happened with me on Win7, some apps started using a device they weren't supposed to and I never use, this is just the ticket. – CodeLurker Dec 11 '17 at 22:01
4

To the best of my knowledge Windows does not have the option to switch playback devices for programs that are currently playing audio.

Try the third-party program, CheVolume:

http://www.chevolume.com/

2

I'm sorry, but Windows just does not have a concept of an application-specific sound output device. Many apps just use whatever the default is. Some (the more elaborate "multimedia" apps) include an option menu that let you pick a device from a list, and most of them will let you save that as a default, but the app has to be coded to provide that option.

I like the scripting option. You start a program via a script that changes the default to whatever you want it to be for that program, then after the program is good and running, it sets the default back to whatever you want most programs to use. PowerShell can do this too.

  • 8
    "Windows just does not have a concept of an application-specific sound output device.". But it happens quite often that my headphones are assigned one application and my speakers are assigned another. I just don't know how to control it. I'm willing to believe it's just a bug, but it is definitely windows assigning apps to separate playback devices. – kdbanman Sep 6 '15 at 14:04
  • I've worked on multimedia drivers and apps. I am unaware of any place to put "this is the default device for app X" except in the app's own settings. But, some apps are coded to look for certain types of devices first, or to use e.g. the highest-quality device, rather than the default. Windows has a separate setting for "default communications device" and e.g. Skype will use that device by default, as opposed to the "ordinary" default device. Failing that, comm programs may look for a device with a mic input (the HDMI sound device, for example, does not have one) and use that. Etc. – Jamie Hanrahan Sep 6 '15 at 20:23
  • I understand what you mean about I/O device types. That app settings config you're talking about - is it part of the .NET System.* API? Maybe the Environment.* API? Or is it lower level in the Win32 API? If I read those docs I'll have a much better understanding of what's going on, so I'd really appreciate a link or some keywords :-) – kdbanman Sep 6 '15 at 23:55
  • Scripts switching default device would not work in many cases since many applications will follow the switch immediately or upon certain action. CheVolume does work for a fraction of applications, but not nearly as much as you'd like and sometimes fails on those as well. It seems that this is an OS-level function that is just missing - why require the same feature to be implemented in all applications separately? – Jacek Gorgoń Feb 26 '16 at 22:41
  • @JamieHanrahan How? Is everyone in on some conspiracy to leave out easy solutions? There was a similar issue with google not supporting transparent proxy setting... Can you enlighten me as to why the pipe concept is too much to ask for? – Milind R Oct 16 '16 at 13:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.