看板 GameDesign 關於我們 聯絡資訊
謝謝版大給予的方向 小弟努力K文件後,有初步的成果 小弟利用mmsystem.h提供的API來偵測 使用 waveInGetNumDevs(); 等相關函式 抓出Device Buffer內的數值 然後判斷波形高於多少後觸發 DirectShow 內的 Run() 進行錄製的動作 的確這方法有個問題,應當是我沒有處理好DeadLock造成Thread死掉 但是初部狀態,可以說事成功了!! 謝謝版大和各位前輩給予的方向與指導 謝謝~ ※ 引述《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