※ 引述《StubbornLin (Victor)》之銘言:
: DirectShow是pipeline的設計
: 要截取麥克風的波形
: 大概像這樣
: DirectSound Source -> Sample Grabber -> Null Renderer
: Sample Grabber可以設定callback來接audio的samples
: 不過小心dead lock 或race condition等問題
: 因為它是從某個thread呼叫你設定的callback
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.197.178
謝謝版大給予的方向
小弟努力K文件後,有初步的成果
小弟利用mmsystem.h提供的API來偵測
使用 waveInGetNumDevs(); 等相關函式
抓出Device Buffer內的數值
然後判斷波形高於多少後觸發 DirectShow 內的 Run()
進行錄製的動作
的確這方法有個問題,應當是我沒有處理好DeadLock造成Thread死掉
但是初部狀態,可以說事成功了!!
謝謝版大和各位前輩給予的方向與指導
謝謝~