Playsound Function

B

bballmitch

Why won't the following code work?

char soundfile2[] = "C:/Windows/Media/pinky and the
brain.wav";

PlaySound(soundfile2,NULL,SND_FILENAME|SND_SYNC|SND_ASYNC);
getchar();

i put libwinmm.a in the parameters and i have all the right headerfiles
in there, but it won't work. it says that i must declare SND_FILENAME ,
SND_SYNC and everything else in the second line. It works perfectly in
a console application but it doesn't seem to work in a glut
application. BTW, im using namespace std.
can someone please help me out.
 
V

Victor Bazarov

bballmitch said:
Why won't the following code work?

char soundfile2[] = "C:/Windows/Media/pinky and the
brain.wav";

PlaySound(soundfile2,NULL,SND_FILENAME|SND_SYNC|SND_ASYNC);
getchar();

[...]

There is no 'PlaySound' function in Standard C++, which is incidentally
the only subject of this newsgroup. Please try a newsgroup for your
platform if it supports playing sound.

Also, as a side note, the directory name separator in Windows is not
the '/' symbol but the '\' symbol, which also needs to be doubled when
put in a string literal. You might want to try

char soundfile2[] = "C:\\Windows\\Media\\pinky and the brain.wav";

V
 
B

bballmitch

you want to bet there's no playsound function? i know for a fact there
is cause i've used it. but it won't work in an OpenGL file, only
console application. i need help, so don't talk about what you don't
know. those three lines EXACTLY work in Dev C++ console application.
 
A

Andre Kostur

you want to bet there's no playsound function? i know for a fact there
is cause i've used it. but it won't work in an OpenGL file, only
console application. i need help, so don't talk about what you don't
know. those three lines EXACTLY work in Dev C++ console application.

Yep. I will bet you that there is no playsound (or PlaySound) function
defined in Standard C++. This is comp.lang.c++, where the topic is
Standard C++. You're talking about some 3rd party library. You're much
better off asking in a newsgroup specific to the library and/or platform
that you are using.
 
A

Alf P. Steinbach

* bballmitch:
you want to bet there's no playsound function? i know for a fact there
is cause i've used it. but it won't work in an OpenGL file, only
console application. i need help, so don't talk about what you don't
know. those three lines EXACTLY work in Dev C++ console application.

As we all know it's september.
 
D

Default User

bballmitch said:
you want to bet there's no playsound function? i know for a fact there
is cause i've used it. but it won't work in an OpenGL file, only
console application. i need help, so don't talk about what you don't
know. those three lines EXACTLY work in Dev C++ console application.

*plonk*



Brian
 
B

bballmitch

I'll bet you MY LIFE there is. just type "playsound function in C++"
into google and watch like 10 links to information stating that the
playsound function is used in C++.
 
N

Nikos Chantziaras

bballmitch said:
I'll bet you MY LIFE there is. just type "playsound function in C++"
into google and watch like 10 links to information stating that the
playsound function is used in C++.

YES, there IS such a function! Look up its usage in the documentation.
If it still won't work, make sure your loudspeakers are turned on, and
pluged in. If there's still no sound, by a new soundcard. If that
won't help either, try Pascal instead of C++; it has a more compatible
playsound function (supports DirectX, Paula chip, and other stuff).
 
R

Rein Anders Apeland

you want to bet there's no playsound function? i know for a fact there
is cause i've used it. but it won't work in an OpenGL file, only
console application. i need help, so don't talk about what you don't
know. those three lines EXACTLY work in Dev C++ console application.

So, if I happen to make my own little collection of
functions for my own private robot project and name
one of the functions 'StartRightWheel', then that
function is automatically part of the C++ standard?

Note that I _am_ able to use it...

I am willing to bet that there is _no_ function called
'StartRightWheel' in the C++ standard.
 
R

Richard Herring

Also, as a side note, the directory name separator in Windows is not
the '/' symbol but the '\' symbol,

Only for the command-line interface. Everywhere else the '/' works fine.

To maintain marginal on-topicality, the following will work (provided
the named file actually exists ;-) in a Windows environment:

#include <istream>
#include <fstream>
int main()
{
std::ifstream s("C:/Windows/Media/pinky and the brain.wav");
// do something with s
}
 
G

Gernot Frisch

I'll bet you MY LIFE there is.

OK. I'll come get it ;)
BTW: Don't cross post (especially not to c.l.c++ and c.g.a.opengl for
a question that is related to comp.os.ms-windows.programmer.win32

-Gernot
 
J

Josh Mcfarlane

bballmitch said:
its not that its not playing sound, it won't compile. :(

Which is probably because you are using the 3rd-party function without
including the constants that it defines. Now, as stated earlier, you
have two options for troubleshooting this:

A. Go to a newsgroup that discusses it (NOT the C++ newsgroup which
only deals with C++ and STL, which PlaySound is part of.)

B. Look at the documentation for how to use the function, or the result
of the google searches that you gave up your life for.
 
B

bballmitch

thank you, just one question though.......what do you mean do
something with s? suppose i just want it to play that song, what do i
put? that compiles but it wont' play(and im playing music on my
computer right now, so its not my computer). if you could just tell me
what to put in that "do something" line, i'll be set. thanks.
 
J

Josh Mcfarlane

bballmitch said:
thank you, just one question though.......what do you mean do
something with s? suppose i just want it to play that song, what do i
put? that compiles but it wont' play(and im playing music on my
computer right now, so its not my computer). if you could just tell me
what to put in that "do something" line, i'll be set. thanks.

The C++ Library does not even require your computer to have a monitor,
much less speakers.

What you do with s is dependant upon your 3rd-party library, which is
what we've been trying to tell you. In order to find out what to do
with s, you will have to refer to another newsgroup dealing with your
function or it's documentation.
 
K

Kevin Handy

bballmitch said:
in C++ what would you do?

I believe that "\a" is defined in the standard.

You can just wrap the code to decode the stream around
sleep's and 'std::cout << "\a";' to approximate your
audio stream.

Let us know how it works out.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,599
Members
45,175
Latest member
Vinay Kumar_ Nevatia
Top