Why Console.Beep() doen't beep?

  • Thread starter Thread starter Rafael
  • Start date Start date
R

Rafael

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,

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 instead:

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


HTH,
Sergey Zyuzin
 
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();
///
 
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...
 
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
 
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


Mick Doherty said:
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
 
Back
Top