SystemSounds
(1)
DllImport
(1)
CharSet
(1)
VB
(1)
Console
(1)
Visual
(1)
Beep
(1)
MessageBeep
(1)

Why Console.Beep() doen't beep?

Asked By Rafae
09-Feb-08 11:07 PM
I'm studying C# (I've been a VB developer).

I'm making some tests and I need to use Console.Beep(), but it doesn't make
any sound, no matter if I try it in VS2008 beta or VS2005.

Could anybody tell my some hint abouit it?

--
Rafael

Rafael,There is not any difference in using classes from Net between Visual

Asked By Cor Ligthert[MVP]
10-Feb-08 01:27 AM
Rafael,

There is not any difference in using classes from Net between Visual Basic
and C#.

The only difference is the program language around that.

So probably there is something else.

Cor

I don't know why it doesn't beep,you might try this function

Asked By Sergey Zyuzin
10-Feb-08 10:43 AM
I don't know why it doesn't beep,
you might try this function instead:

[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern bool MessageBeep(int type);


HTH,
Sergey Zyuzin

Console.

Asked By Mick Doherty
10-Feb-08 06:21 AM
Console.Beep uses the PC Speaker rather than the soundcard (the same speaker
that the BIOS uses).
Do you have a PC Speaker?

Console.Beep(); is the equivelant of calling the Interop Beep method:
\\\
Beep(800, 200);
///
...where the method is defined as:
\\\
[DllImport("kernel32.dll")]
private static extern int Beep(int dwFreq, int dwDuration);
///


The MessageBeep Interop function plays a Wave sound through the soundcard.
There is no need to use MessageBeep via Interop, just use:
\\\
System.Media.SystemSounds.Beep.Play();
///

--
Mick Doherty
http://www.dotnetrix.co.uk/nothing.html
Thank you Mick!!
Asked By Rafae
10-Feb-08 02:23 PM
Thank you Mick!!

System.Media.SystemSounds.Beep.Play(); worked just fine. Although I wonder
why Console.Beep(); doesn't beep, there must be some configuration that I
haven't set, or something...

--
Rafael
Hi Rafael,As I stated, Beep uses the PC Speaker, which is attached to the
Asked By Mick Doherty
11-Feb-08 05:19 AM
Hi Rafael,

As I stated, Beep uses the PC Speaker, which is attached to the motherboard
(mainboard),
whereas, MessageBeep plays a wave sound through the soundcard. So
Console.Beep() will only sound if you have a PC Speaker attached to the
motherboard.

If you have a PC Speaker then it may have been disabled.
http://www.computerhope.com/issues/ch000725.htm

--
Mick Doherty
http://www.dotnetrix.co.uk/nothing.html
Thank you Mick!
Asked By RafaelSoteld
13-Feb-08 08:58 AM
Thank you Mick!

I checked in the device manager and the non plug and play Beep device was
not disable, although there's another thing with Motherboard cable that I
have to check.

Again, thank!

--

Rafael Soteldo
Post Question To EggHeadCafe