- ベストアンサー
ビープ音を連続して鳴らす
- 何か時間のかかる処理が終わったとき、ユーザーに処理が終わったことをビープ音で知らせたいと思います。
- 1回だと気付きにくいので3回「ピッピッピッ」と鳴らしたいのですが、Beep を3回記述しても鳴りません。
- 苦し紛れに下記の関数を作って間に合わせているのですが、間隔を1秒とっているのでちょっと間延びした感じです。もっとリズミカルに鳴らしたいのですが、いい方法があったらどなたか教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
再びmaruru01です。 間にSleepを入れないと出来ない(条件によっては3回に聞こえることもあるけど)ですよ。 っていうか、BeepとSleepで私の環境では出来ましたけど。(VB6.0SP5、Windows2000SP2) あっそうだ、Beepの引数はWindows95、98では無視されます。 では。
その他の回答 (3)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 WindowsAPIにも、「Beep」という関数があります。 APIのBeepは周波数(Hz)と秒数(ms)の2つの引数を持ってるので、音色(周波数)と鳴らす間隔(秒数)を調節出来ます。 各Beep間のインターバルはNo.2の方の通り、APIのSleepを使って調節出来ます。 どちらの関数も、MSDNライブラリーで詳細を参照して下さい。 関数の宣言はAPIビューアで取得して下さい。 では。
補足
ありがとうございます。 が、うまくいきません。 timer関数と同じで1回しか鳴りません。 周波数と間隔をいろいろと変えてやってみたのですが、3回Beepを記述しても1回しか鳴りません。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 確か Sleepという関数があったと思います。 Sleep(1000) で 1秒待ちという意味になります。 Beep Sleep(1000) Beep Sleep(1000) Beep でいかがですか? 参考になれば幸いです(..
補足
ありがとうございます。 が、うまくいきません。 timer関数と同じで1回しか鳴りません。
- todyssey
- ベストアンサー率32% (25/77)
あまりお役に立てないかも知れませんが timer は 小数点以下も利用できるはずです。 timer + 1 を timer + 0.3ぐらいにしてみては いかがでしょうか
補足
はい、1秒以下でも試しましたが、そうするとうまく3回鳴りません。 0.9以下でだめでした。ハードの周波数の問題とか聞きましたが、それをどうクリアしたらいいのか分かりません。
お礼
ありがとうございました。 自宅のパソコンは98なので、うまく動きませんでした。 仕事先では2000で、2000上で動かすアプリで使用したかったので大助かりです。