Playing wav files using sndPlaySound or PlaySound

This is how I did it, I used sndPlaySound(filename, SND_SYNC |SND_LOOP) or PlaySound(filename, NULL, SND_SYNC|SND_LOOP) to play a .wav file but however I got a linking error message which says "unresolved external symbol". I've also included "mmsystem.h" header file. How can I solve the problem? What's the difference between sndPlaySound and PlaySound? Is it true that PlaySound can play a .wav from a resource while sndPlaySound can't?
thankyouallAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Answers2000Commented:
1. Fix Unresolved external - link WINMM.LIB (to see this in help click Quick Info button when you see tha API call)

2. sndPlaySound plays a system sound (see WIN.INI or registry) or a file, PlaySound can do either or play a sound in your app's resources.  Otherwise not much difference.  There is often more than 1 way to do the same thing in Windows.

3. PlaySound can play from resource.  sndPlaySound can't.  If you look at parameters, this is obvious as sndPlay sound doesn't include an instance or module handle parameter.  Windows API functions accessing resources usually (always ?) have this as a paramter, e.g. LoadBitmap, LoadString, etc.
0
thankyouallAuthor Commented:
How can I link my program with WINMM.LIB?
0
thankyouallAuthor Commented:
okay, I've managed to link it with WINMM.LIB, the error message is gone but I still can't hear the sound. I would like to play a non-system wav sound, can it be done using sndPlaySound or PlaySound? Please help.
0
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

Answers2000Commented:
1. To play a .WAV file

PlaySound( "file.wav", NULL, SND_FILENAME ) ;
or
sndPlaySound( "file.wav", 0 ) ;

for file name make sure you specify the full path.  If you use \ in string literals, then make sure you escape it
e.g.
"C:\\WINDOWS\\file.wav"  in C, means "C:\WINDOWS\file.wav" in DOS


2. To play from resources

i. Insert a .wav file into your resources
- Go to resource tree on workspace
- Right click
- Pick "Import..."
- Browse the WAV file
- Assign an arbitary id, e.g. "IDC_WAVE"

ii. Play the wave file with
PlaySound( MAKEINTRESOURCE(IDC_WAVE),  AfxGetResourceHandle(), SND_RESOURCE ) ;

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
thankyouallAuthor Commented:
Okie thanks... I'll try it out! :)
0
thankyouallAuthor Commented:
It works! Thanks for your help!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
System Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.