• ベストアンサー

VCでビープ音

いつもお世話になっております。 今回はVC++でつくったアプリケーションでビープ音が鳴らしたいのですが、 普通のMessageBeepではなくて、マザーボードについているスピーカーからビープを鳴らしたいです。 よく起動時にピッってなるあのスピーカーから鳴らしたいのですが可能でしょうか。 ご存知の方がおられましたらご教授願います。 環境 WindowsXP SP3 VisualStudio2005 professional よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

ちょっと説明がまずかったようですね。 >ドライバを入れるということですが、今回はVC++で作ったアプリ内で完結させたいので、ほかのドライバとかはちょっとまずいです。 とのことですが、API の Beep() を使用すれば、デバイスドライバなしでビープ音を出力可能です。

その他の回答 (5)

回答No.5

すみません、訂正です。 >#1 の回答の後、ちょっと調べてみました。 >#1 の回答は昔の・・・ の #1 は #2 の間違いです。

回答No.4

#2 の回答をした者です。 #1 の回答の後、ちょっと調べてみました。 #1 の回答は昔の記憶で書いてしまったのですが、昔 ( NT の時代 (^^; ) は Beep という API 関数はなかたのですが、Windows 2000 以降は Beep という API があるので、これを使用すれば済むようです。 ちなみに、フリーソフトで直接 IO 制御ができるようになるドライバというのは ioscm.sys で、これは、Vector とかにあるようです。 また、 asm{ ... } を使用しなくても、c の _out() 関数を使用すれば _out( 0x61, 3 ); /* Beep スタート */ _out( 0x61, 0 ); /* Beep ストップ */ のような感じでできるようです。( ioscm.sys を使用すれば )

iec1128
質問者

補足

ご回答ありがとうございます。 ドライバを入れるということですが、今回はVC++で作ったアプリ内で完結させたいので、ほかのドライバとかはちょっとまずいです。 機会があったら使ってみようと思いますが・・・ 重要な点を言い忘れていて申し訳ありません。

  • mk48a
  • ベストアンサー率56% (1133/2007)
回答No.3

ビープ音だからWAVファイルの再生とは関係ないんじゃ? 以下のページが参考になるかも http://msdn.microsoft.com/ja-jp/library/8hftfeyw.aspx

iec1128
質問者

補足

ご回答ありがとうございます。 .netについてはまったくの無知ですのでちょっと調べてみたいと思います。 参考にさせていただきます。

回答No.2

直接IOポートを制御できるようにするデバイスドライバがフリーソフトとかであったと思います。 「直接 IOポート WINDOWS」 とかで検索してみてください。 それがあれば、 _asm {out nn xx} のようなやり方(nnはポート番号)でできると思います。 Beepのポート番号は、忘れてしまいました…。 これも「Beep ポート番号」 とかで検索すれば出て来ると思います。

  • YUI_AI
  • ベストアンサー率45% (303/661)
回答No.1

目的の機能は、サウンドデバイスからWAVファイル等を再生・システムサウンドの再生になるかと思います。 System.Media 名前空間を参照してみて下さい。

参考URL:
http://msdn.microsoft.com/ja-jp/library/system.media.systemsound(VS.80).aspx

関連するQ&A