My assumption based on the type of error you're getting and the fact that your function is in a separate namespace is that there is the following snippet somewhere (probably in a microsoft include):
#ifdef _UNICODE
#define PlaySound PlaySoundW
#else
#define PlaySound PlaySoundA
#endif // _UNICODE
These types of #define
statements are common in microsoft's internal headers because they are designed to handle both unicode and multibyte character encodings.
In order to get around this issue, you might want to put the following before you use your code:
#undef PlaySound