This happens to me all the time on Windows 10; youtube videos freeze, games crash and so on when an audio device suddenly becomes unresponsive. Usually this happens because I have an external soundcard that seems to have a ~30% chance of not being recognized when coming out of sleep mode without un- and replugging it, but there can be other causes as well - for example my screen, which has a pair of speakers and as such qualifies as a separate audio device, will sometimes be considered to have been dis- and reconnected from static electricity discharges (I really should look into getting better cables for it I guess...). When this happens I sometimes get zombie devices where the old one still exists and can be active / activated if disconnecting another one, but won't work.
For the record this is using Windows 10 Pro; curiously I haven't had it happen on the Windows 10 Home computer I use at work (yes I know

), but that is probably because I don't really use anything but headphones or no audio device at all there.
As for the thread title I agree, but I'm not sure if it is possible to manually use any other audio device than the one currently set as the main one on newer versions of Windows. Many games will however keep using the old device when switched, while other software can detect the device change and then swap to the new device instead, so it might be possible.
Also here is a function to set the current main audio device; it works on Windows 7 and 10. Probably 8 and Vista as well:
void SetAudioRenderDevice(std::wstring& deviceId) {
IPolicyConfigVista *pPolicyConfig = nullptr;
if(SUCCEEDED(CoCreateInstance(__uuidof(CPolicyConfigVistaClient), nullptr, CLSCTX_ALL, __uuidof(IPolicyConfigVista), (LPVOID*)&pPolicyConfig))) {
pPolicyConfig->SetDefaultEndpoint(deviceId.c_str(), eConsole);
pPolicyConfig->Release();
};
}
Got to love how Microsoft likes to hide functionality under very unobvious function calls like that...