上一篇實現了獨立 EXE 錄音機,本文將其封裝為 ActiveX 控件(OCX),可嵌入網頁、Director、Authorware 等容器。

圖一
COleControl 派生類。CWnd 功能),內部創建子窗口承載 UI。waveInOpen/waveInPrepareHeader/waveInAddBuffer 等 WinMM API 實現錄音,回調函數處理數據塊。MaxDuration、SampleRate、ChannelsStartRecord()、StopRecord()、Play()、SaveToFile(BSTR path)OnRecordComplete()、OnError()IPersistStreamInit/IPersistPropertyBag 保存狀態。IObjectSafety 標記為安全腳本初始化,允許網頁腳本調用。ActiveX 控件本質是「實現一組標準接口的子窗口」。除 COM 基礎設施外,UI 邏輯、繪製、消息處理完全可按普通CWnd/CDialog思路編寫。不要被 COM 術語嚇退,專注於業務功能實現。
歡迎共同完善,源碼見文末下載。