
| 語言: | Visual C++ |
| 版本: | 3.0.3 |
| 发布于: | 2005年4月7日 |
| 作者: | IC Imaging Control技術支持部 |
| 需求: | IC Imaging Control >2.1 由WDM數據流類驅動程序驅動的相機、視頻轉換器或圖像採集卡 |
| |
示例程序窗口如下圖所示:

首先創建一個基於MFC對話框的應用程序。 而後,新建4個按鈕,分別用於開啟視頻捕捉設備,顯示IC Imaging Control內置的屬性設置對話框,保存設備屬性,以及從.xml文件中載入設備屬性。
創建一個Grabber類的實例,作為對話框類的成員。
DShowLib::Grabber m_cGrabber; // The instance of the Grabber class.
在"Device"按鈕事件處理程序中,選擇一個視頻捕捉設備。 首先,在調用IC Imaging Control內置的"Device Selection"對話框前,檢驗當前的Grabber對像是否已經含有一個正在運行的視頻設備。 通過Grabber::showDevicePage()調用"Device Settings"對話框。 離開"Device Settings"對話框後,檢測是否已經選擇了一台有效的視頻捕捉設備。 如果設備有效,則通過調用Grabber::startLive()開始視頻圖像。
void CSaveRestorePropertiesDlg::OnBnClickedDevice() { if(m_cGrabber.isDevValid() && m_cGrabber.isLive()) { m_cGrabber.stopLive(); } m_cGrabber.showDevicePage(this->m_hWnd); if(m_cGrabber.isDevValid()) { m_cGrabber.startLive(); } }
"Properties"按鈕事件處理程序通過調用 Grabber::showVCDPropertyPage()顯示內置的設備屬性設置對話框:
void CSaveRestorePropertiesDlg::OnBnClickedProperties() { if( m_cGrabber.isDevValid()) { m_cGrabber.showVCDPropertyPage(this->m_hWnd); } }
方法Grabber::saveDeviceStateToFile()將當前設備的設置和屬性保存至一個XML文件中:
void CSaveRestorePropertiesDlg::OnBnClickedSave() { if( m_cGrabber.isDevValid()) { m_cGrabber.saveDeviceStateToFile("device.xml"); } }
方法Grabber::loadDeviceStateFromFile從一個XML文件中重新載入設備及其屬性。 對於設備選擇對話框,有必要在開啟一台新視頻設備前停止正在播放的視頻。 如果載入了一台有效的視頻設備,通過Grabber.startLive()開啟圖像數據流:
void CSaveRestorePropertiesDlg::OnBnClickedRestore() { if(m_cGrabber.isDevValid() && m_cGrabber.isLive()) { m_cGrabber.stopLive(); } if( m_cGrabber.loadDeviceStateFromFile( "device.xml")) { if( m_cGrabber.isDevValid()) m_cGrabber.startLive(); } }
責任聲明
IC Imaging Control源代碼庫中的所有代碼均只用於教學目的,The Imaging Source Europe GmbH作為IC Imaging Control的開發製造商,不對任何由於使用本文或其中源代碼所產生的後果承擔責任。