Start New Discussion within our Software Development Community

hi, i have written this code.

using namespace std;
int main (char argc)
      PlaySound("TardisTest1.wav", NULL, SND_FILENAME | SND_ASYNC);
      return 0;

and for some reason, when the program runs, all it does is system("pause); and it doesnt play the sound. I have my sound file included in the folder of my project. any solutions?

Try ensuring that you're passing the right kind of variable, by wrapping the string as follows:

PlaySound(TEXT("TardisTest1.wav"), NULL, SND_FILENAME | SND_ASYNC);

The project directory is not guaranteed to be the working directory of the executable. Try giving an absolute path (e.g. "C:/TardisTest1.wav").

Also, PlaySound gives a return value. Check that value to see if the function was successful.

Do you hear any sound at all? If the function can't find the file, you should hear the default sound.

Well, I have been using DEV-C++ ever since I was 10 years old and I don't want to give up on it now. But thanks for helping me.

"I have been using DEV-C++ ever since I was 10 years old"

That makes me wince. We don't say it's bad just for the fun of it. It really is bad. Just because you've learned how to work around all the problems doesn't mean you can't get something better.

Of course, of course. It's entirely your choice to use, for example, a compiler that is not C++ standard compliant. Be aware that if you ever have to work with another compiler, you might find that your code stops working. It is possible to continue using Dev-C++ and swap out the compiler for a better one, so that's always an option.

You can't do that with PlaySound. If you want that kind of functionality you need a library like OpenAL or SDL or SFML etc...

This question has already been answered. Start a new discussion instead.