以前よりDOMっておりましたが今回ご質問させていただくことになりました
あうと申します。
早速ですがVB6.0にてPCのサウンドボードのラインインより入力された音声の
無音検知を行いたいと考えているのですが、どういった方法がありますでしょうか?
具体的には、ラインより入力された音声が一定時間無音(何db以下とか)だったらという検知を行いたいのですが・・・
音声に関しての知識を習得しないまま質問をしてしまっているので
とんちんかんなお返事になるかもしれませんが、どうぞよろしくお願い致します。
外部DLLなど使わないでやれるに越したことはないのですが、
WaveIn関数にて音声を取込んで、WAVEファイル化するなりして
一定時間無音かの判断(波形が小さいとか)でしょうかね
WAVE 入力デバイス インターフェイス コントロール (WaveIn コントロール) とは?
http://www32.ocn.ne.jp/~kentaro/Programs/WaveIF/WaveIn/Intro.html
WaveCutterマニュアル
http://hp.vector.co.jp/authors/VA017945/wc_man/Man3.htm
やじゅ様 レスありがとうございます。
できれば入力ソースのAudio Level が拾えてリアルタイムで
監視できるといいのですが(^^;
メディアエンコーダのコンポーネント越しに音声の入力レベルって
とれないもんでしょうか?
(そもそもコンポーネントなんてないかもしれず全く想像で話しちゃってます
m(_ _)m)
「音声 キャプチャ」で検索するとか・・・
DirectShow.NETを使って音声キャプチャ
http://d.hatena.ne.jp/kent013/20080524/1211598985
あとは適当に調べてね
外部DLL使わずに・・・は無理です。
またミキサーで各入力のボリュームの状態もチェックしないと
本当に無音なのか、ただ単にボリュームが絞ってあったのか、
判断できません。
今は、DirectXがありますので、簡単?にできますが、私がやっ
た折は、C言語で作成しました。因みにMFCでActiveXにして、
フォームに貼って使えるようにしましたが・・・
何はともあれ、VB6のみでやりたいならばDirectX関係を調べて
下さい。
以上。