操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    本文內容

    若要選擇音頻或視頻捕獲設備,請使用 系統設備枚舉器,如“ 使用系統設備枚舉器”主題中所述。 系統設備枚舉器返回設備名字對象集合,由設備類別選擇。 名字對象是包含有關另一個對象的信息的 COM 對象。 名字對象使應用程序能夠獲取有關對象的信息,而無需實際創建對象。 稍后,應用程序可以使用名字對象創建對象。 有關名字對象的詳細信息,請參閱 的文檔。

    若要使用系統設備枚舉器,請執行以下步驟。

    調用 以創建系統設備枚舉器的實例。

    調用 ::r ,并將設備類別指定為 GUID。 對于捕獲設備,以下類別是相關的。

    類別 GUID說明

    音頻捕獲設備

    視頻捕獲設備

    如果攝像機具有集成麥克風攝像頭創建設備枚舉器錯誤,則會在這兩個類別中顯示。 但是,出于枚舉、設備創建和數據流的目的,相機和麥克風被系統視為單獨的設備。

    r 方法返回指向 接口的指針。 若要枚舉名字對象攝像頭創建設備枚舉器錯誤,請調用 ::Next。

    以下代碼為指定的設備類別創建枚舉器。

    #include 
    #include 
    #pragma comment(lib, "strmiids")
    HRESULT EnumerateDevices(REFGUID category, IEnumMoniker **ppEnum)
    {
        // Create the System Device Enumerator.
        ICreateDevEnum *pDevEnum;
        HRESULT hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL,  
            CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pDevEnum));
    

    usb枚舉不同設備_c# 枚舉器實現_攝像頭創建設備枚舉器錯誤

    if (SUCCEEDED(hr)) { // Create an enumerator for the category. hr = pDevEnum->CreateClassEnumerator(category, ppEnum, 0); if (hr == S_FALSE) { hr = VFW_E_NOT_FOUND; // The category is empty. Treat as an error. } pDevEnum->Release(); } return hr; }

    接口枚舉 接口的列表,其中每個接口都表示設備名字對象。 應用程序可以從名字對象讀取屬性,或使用名字對象為設備創建捕獲篩選器。 名字對象屬性作為 值返回。 設備名字對象支持以下屬性。

    說明 類型

    “”

    設備的名稱。

    “說明”

    設備的說明。

    “”

    標識設備的唯一字符串。 僅 (視頻捕獲設備。)

    usb枚舉不同設備_c# 枚舉器實現_攝像頭創建設備枚舉器錯誤

    “”

    音頻捕獲設備的標識符。 僅 (音頻捕獲設備。)

    VT_I4

    “”和“”屬性適合在 UI 中顯示。

    若要從名字對象讀取屬性,請執行以下步驟。

    調用 :: 以獲取指向 接口的指針。調用 ::Read 以讀取屬性。

    下面的代碼示例演示如何枚舉設備名字對象列表并獲取屬性。

    void DisplayDeviceInformation(IEnumMoniker *pEnum)
    {
        IMoniker *pMoniker = NULL;
        while (pEnum->Next(1, &pMoniker, NULL) == S_OK)
        {
            IPropertyBag *pPropBag;
            HRESULT hr = pMoniker->BindToStorage(0, 0, IID_PPV_ARGS(&pPropBag));
            if (FAILED(hr))
            {
                pMoniker->Release();
                continue;  
            } 
            VARIANT var;
    

    c# 枚舉器實現_usb枚舉不同設備_攝像頭創建設備枚舉器錯誤

    VariantInit(&var); // Get description or friendly name. hr = pPropBag->Read(L"Description", &var, 0); if (FAILED(hr)) { hr = pPropBag->Read(L"FriendlyName", &var, 0); } if (SUCCEEDED(hr)) { printf("%S\n", var.bstrVal); VariantClear(&var); } hr = pPropBag->Write(L"FriendlyName", &var); // WaveInID applies only to audio capture devices. hr = pPropBag->Read(L"WaveInID", &var, 0); if (SUCCEEDED(hr)) { printf("WaveIn ID: %d\n", var.lVal); VariantClear(&var); }

    攝像頭創建設備枚舉器錯誤_c# 枚舉器實現_usb枚舉不同設備

    hr = pPropBag->Read(L"DevicePath", &var, 0); if (SUCCEEDED(hr)) { // The device path is not intended for display. printf("Device path: %S\n", var.bstrVal); VariantClear(&var); } pPropBag->Release(); pMoniker->Release(); } } void main() { HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); if (SUCCEEDED(hr)) { IEnumMoniker *pEnum; hr = EnumerateDevices(CLSID_VideoInputDeviceCategory, &pEnum); if (SUCCEEDED(hr))

    c# 枚舉器實現_usb枚舉不同設備_攝像頭創建設備枚舉器錯誤

    { DisplayDeviceInformation(pEnum); pEnum->Release(); } hr = EnumerateDevices(CLSID_AudioInputDeviceCategory, &pEnum); if (SUCCEEDED(hr)) { DisplayDeviceInformation(pEnum); pEnum->Release(); } CoUninitialize(); } }

    若要為設備創建捕獲篩選器,請調用 :: 方法以獲取 指針。 然后調用 :: 將篩選器添加到篩選器圖:

    IBaseFilter *pCap = NULL;
    hr = pMoniker->BindToObject(0, 0, IID_IBaseFilter, (void**)&pCap);
    if (SUCCEEDED(hr))
    {
        hr = m_pGraph->AddFilter(pCap, L"Capture Filter");
    }
    

    相關主題

    音頻捕獲

    視頻捕獲

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有