需求:單位內部局域網跨房間語音溝通,不依賴 NetMeeting 等獨立軟體,整合至自有系統。硬體僅需雙 DMA 聲卡與耳麥,核心採 Windows 多媒體底層波形音訊服務 + TCP Socket 實現。
waveIn/waveOut 低層 API,配合 WAVEHDR 循環緩衝區與回呼訊息(MM_WIM_DATA/MM_WOM_DONE)實現即時錄製與播放,無需人工控制緩衝區切換。waveInOpen/waveOutOpen (CALLBACK_WINDOW)、配置 WAVEFORMATEX (11025Hz/16bit/單聲道)、分配鎖定全域記憶體給 WAVEHDR、waveInAddBuffer、waveInStart。MM_WIM_DATA 處理錄製資料 → 發送網路/播放;MM_WOM_DONE 重送緩衝區給輸入端;MM_WIM_CLOSE 清理資源。CAsyncSocket 衍生類別,重寫 OnReceive/OnSend 處理自訂封包協議。WNetEnumResource)、音量控制、對方播放音樂(同取樣格式 .wav)。程式在 Win98/2000、VC6、NT 100M 驗證通過。完整原始碼可下載。