XAudio2 uses WASAPI which doesn't have any 'migration' support. This is something that Media Foundation implements internally.
There are a couple of cases here to handle, and the detail depend heavily on your own policy for behavior.
* If the current WASAPI device is lost, you will get an OnCriticalError notification. In this case, you have to release your XAudio2 instance and recreate it with some new device. Likely there is a new default device in the system, although on Windows you can end up with NO audio device at all.
* You need to detect if a new audio device is available in your app so you can choose to recreate a new XAudio2 instance (or if there wasn't a default device before, create one). For Win32 desktop applications, this is done by calling RegisterDeviceNotification <http://msdn.microsoft.com/en-us/library/windows/desktop/aa363431.aspx
and then via the Win32 message WM_DEVICECHANGE, wParam == DBT_DEVICEARRIVAL. For Windows Store apps, you have to use the WinRT DeviceWatcher <http://code.msdn.microsoft.com/windowsapps/Device-Enumeration-Sample-a6e45169
I try to simplify this somewhat with DirectXTK for Audio <http://go.microsoft.com/fwlink/?LinkId=248929
> but really only for the scenario of no audio device at startup and getting a new default later, or when you lose the active device and want to retry with a new default.