- PR -

C#でビープ音鳴動秒数と周波数を設定し、ブザーを鳴らしたい

投稿者投稿内容
comeseesee
常連さん
会議室デビュー日: 2004/11/24
投稿数: 36
投稿日時: 2005-03-04 10:21
こんにちは。
C#でAPI関数を使わずに、ビープ音鳴動秒数と周波数を設定し、ブザーを鳴らす方法はありますか?
よろしくお願いします。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-03-04 10:41
無理でしょう。
恐らく唯一のビープ音を鳴らすものがMicrosoft.VisualBasic.Interaction.Beep関数ですが、
これは周波数も時間も指定できませんし。
//まあこの関数を使うぐらいならWin32APIを使うでしょうが。

.NET 2.0ではConsoleクラスにBeep()、Beep(Int32, Int32)が増えるようですね。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-03-04 11:12
http://www.atmarkit.co.jp/fdotnet/dotnettips/254vbfunc/vbfunc.html

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vblr7/html/vastmbeep.asp

周波数までは指定できなさそうですが…
ほろりん
ベテラン
会議室デビュー日: 2004/11/24
投稿数: 98
お住まい・勤務地: あそこ
投稿日時: 2005-03-04 12:31
ただの茶々入れです。
指定の周波数のWAVファイルを作成するプログラムがVECTORとかに落ちてるので、あらかじめWAVファイルを作っておいてそのファイルを再生する。(w
iStation
大ベテラン
会議室デビュー日: 2003/12/08
投稿数: 158
投稿日時: 2005-03-04 13:14
引用:

ほろりんさんの書き込み (2005-03-04 12:31) より:
ただの茶々入れです。
指定の周波数のWAVファイルを作成するプログラムがVECTORとかに落ちてるので、あらかじめWAVファイルを作っておいてそのファイルを再生する。(w


WAVファイルの再生にAPIが必要になるのでは?
結局のところ、
APIを使わないでお望みの機能は得られないと思いますが...
_________________
IEEE-CSDP 2004-2007
rvmx
大ベテラン
会議室デビュー日: 2002/09/26
投稿数: 184
お住まい・勤務地: 愛媛県
投稿日時: 2005-03-07 13:34
今日は

ちょっと、ご希望の機能とは違うかもしれませんが
言われているような機能を実現している例(低周波発信機)を示します。
周波数は可変で、再生はDirectSoundを使って実現しています。
下記より実行形式のサンプルが取得できます。
http://www.geocities.jp/vitevitemiyauchi2/inthelp/softpart/analogparts/audioosc.LZH
ant
常連さん
会議室デビュー日: 2004/03/24
投稿数: 44
投稿日時: 2005-03-07 13:39
引用:

iStationさんの書き込み (2005-03-04 13:14) より:
引用:

ほろりんさんの書き込み (2005-03-04 12:31) より:
ただの茶々入れです。
指定の周波数のWAVファイルを作成するプログラムがVECTORとかに落ちてるので、あらかじめWAVファイルを作っておいてそのファイルを再生する。(w


WAVファイルの再生にAPIが必要になるのでは?
結局のところ、
APIを使わないでお望みの機能は得られないと思いますが...



APIを使わずにWAVを再生するにはWindows Media Playerコンポーネント
を使うという方法があります。
#ここまでくると、もうAPIを使ってしまったほうがよさそうですが・・・。
http://www.gotdotnet.com/japan/student/column/firststep/firststep6.aspx
_________________
ant@MoF
iStation
大ベテラン
会議室デビュー日: 2003/12/08
投稿数: 158
投稿日時: 2005-03-07 15:35
Wavを鳴らすだけだったら以下のコードで良いと思いますけど、
ビープ音を合成するなら、Petzold, "Programming Windows 5th ed." (1999)
の22章あたりを参考にしましょう。
コード:
[DllImport("winmm.dll")]
public static extern int sndPlaySound(string lpszSoundName, int uFlags);
private const int SND_SYNC  = 0x0;
private const int SND_ASYNC = 0x1;
...
sndPlaySound("Alarm.wav", SND_ASYNC);

スキルアップ/キャリアアップ(JOB@IT)