As you discovered MediaPlayer does not support loading media from resources.
The simplest option is to distribute the sound files with your application and place them in the application folder - Content/"Copy to Output Directory" does just that.
If you hit a limitaiton of Visual Studio build system you can just copy the files yourself (drag/drop them into the bin/Debug or bin/Release folser of the exe project) or write a batch file that will copy them and use it as a post-build action.
Obviously, when you ship the applicaiton to an end user you have to make sure the files are copied correctly.
If you are writing a DLL to be used by other develpers and you don't want manual file copying to be part of the developer's installation process you can always use a registry key that points to the files location (set by the DLL's installer) - and fall back to the EXE folder if the registry key is missing (so the EXE developer still has to bundle the files with the EXE but doesn't need to mess with anything during development).
And, of course, if you must have the DLL as a one file standalone package you are left only with the "extract to temp folder" option you already use.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…