wav再生後に余計な音が出ます

解決


めちゃうす  2005-10-25 20:15:54  No: 126846

テキストボックスにキーボードから文字を入力し、その入力した値が
正しければ音を出し、そのテキストボックスをクリアするというプロ
グラムで、

  ①        Call sndPlaySound(".\Sound\quiz2.wav", 0)
  ②        txtAnswerWin(Index).Text = ""

①の効果音再生終了後に「ポンッ」と音が鳴り、テキストボックスを
クリアします。
この「ポンッ」と言う音はWindowsのシステムの音で、効かないキー
を押したときなどに出る音です。
①や②でブレイクすると音は出ません。①や②のあいだにSleepを挟ん
でも②のところで音が出ます。
この音を出さないようにするにはどうすればよろしいでしょうか。


めちゃうす  2005-10-25 20:40:41  No: 126847

「ポンッ」と言う音は、Windowsのサウンドの「一般の警告音」でした。
どうしてこれが鳴るのでしょう。


ガッ  2005-10-25 20:42:47  No: 126848

sndPlaySound()はSND_NODEFAULTフラグが立っていない場合、
ファイルがない時に警告音を発します。

かも。


めちゃうす  2005-10-25 20:53:00  No: 126849

そのようですね。
今回は指定のファイルも存在しますし、指定したファイルの音も鳴ります。
SND_NODEFAULTのフラグを入れても、入れなくても同じく、音の再生後に
「一般の警告音」が出ます。(ToT)


めちゃうす  2005-10-25 20:57:29  No: 126850

存在しないフィルを指定すると、この警告音が2度出ます。


ガッ  2005-10-25 21:22:33  No: 126851

> テキストボックスにキーボードから文字を入力し、その入力した値が
> 正しければ音を出し…
あー、もしかして
一行テキストボックスで
KeyDown、KeyUp、KeyPressイベントのいずれかでエンターキーの入力を監視していますか?
その場合はKeyAsciiまたはKeyCodeを0としてみてください。


めちゃうす  2005-10-25 22:14:03  No: 126852

ガッさん、ありがとうございます。仕組みはそのとおりです。
Key_Downを使って、

    'Return(Enter)が押された!
    If KeyCode = vbKeyReturn Then

の中で、入力データが正しいか、否かを見ています。

> その場合はKeyAsciiまたはKeyCodeを0としてみてください。

これをこの判断の後に入れると言うことでしょうか。


名無し  2005-10-25 23:03:17  No: 126853

>これをこの判断の後に入れると言うことでしょうか。
聞く前にやってみればいいんじゃな〜い?


めちゃうす  2005-10-25 23:08:37  No: 126854

KeyDownだと、KeyCodeを0にしても「一般の警告音」がでました。
KeyPressだと、KeyAsciiを0にすれば出なくなりました。(0にしないと
出ました。)

ガッさん、ありがとうございました。


めちゃうす  2005-10-25 23:09:36  No: 126855

KeyDownにこだわる必要がないので、問題は解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加