WinXP上のVB2005です。
その昔,PC8001及び後継機に組み込まれていたN-BASICやN88-BASICには,beep 1 という命令で,「ピー」という感じの,500Hz程度の音(単音(sin wave ))を,連続で出す機能がありました。これを止めるのは,beep 0 でした。beep 0を実行しないと,電源を切るまで鳴っていました。
今,VBで beepと書きますと,機種やOSのバージョンにもよりますが「ゴン」とか「ピ・コン」とかの,1回限りの音が出て,単音の連続音を出すことはできないようです。
VBで,連続の単音を出すことは可能でしょうか。OSやVBの機能が高度になり過ぎて,単純なことができなくなったように感じています。「beep」で検索しても,まだ見つけられずにおります。
連続した単音の発生と,自由なon/offの方法を,御教示下さい。
Console.Beep メソッドがそれにあたります。
http://msdn.microsoft.com/ja-jp/library/4fe3hdb1.aspx
wave ファイルからの再生なら、My.Computer.Audio.Play や
System.Media.SoundPlayer を使えます。より高度な再生には、
Microsoft.DirectX.DirectSound をどうぞ。
魔界の仮面弁士さん,ありがとうございました。
http://msdn.microsoft.com/ja-jp/library/4fe3hdb1.aspx
を,ざっと見ましたが,目的の動作をさせる鍵がありそうな感じです。
早速テストして見ます。
ありがとうございました。
Console.Beep(Freq,time)を実験した結果
・仕様では,音の持続時間をmS単位で制御できるようだが,実際はかなり不安定。
・何故か,十分な音量が出ない。マスタ音量をソフト,ハード共に調整しても変化しない。
の2点の問題がありますが,まずは解決ということにします。
ありがとうございました。
ツイート | ![]() |