Wie man eine Liste von video-capture-Geräte (web-Kameras) auf windows? (C++)
So haben wir eine einfache C++ - win32-Konsole-app. Alles, was wir wollen, ist zu drucken, die Liste der web-Kameras und andere video-capture-Geräte sind verfügbar. Wir wollen die Verwendung von windows-apis, so viel wie möglich - keine externen libs - nachdem alle - alles, was wir wollen, drucken Sie sich eine Liste - nicht, um zu Fliegen auf den Mond!) Wie tun Sie so etwas?
Meine eigenen reserch:
Ich fand diese offizielle msdn-Beispiel aber ich bekomme immer noch nicht, wie die Ausgabe-Gerät-Liste auf Bildschirm=( (sorry - ich bin neu in C++)
... einige mehr reserch...
In einer der herkömmlichsten ms-Proben auf dem Thema gefunden, diese
HRESULT OnInitDialog(HWND hwnd, ChooseDeviceParam *pParam)
{
HRESULT hr = S_OK;
HWND hList = GetDlgItem(hwnd, IDC_DEVICE_LIST);
//Display a list of the devices.
for (DWORD i = 0; i < pParam->count; i++)
{
WCHAR *szFriendlyName = NULL;
hr = pParam->ppDevices[i]->GetAllocatedString(
MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME,
&szFriendlyName,
NULL
);
if (FAILED(hr))
{
break;
}
int index = ListBox_AddString(hList, szFriendlyName);
ListBox_SetItemData(hList, index, i);
CoTaskMemFree(szFriendlyName);
}
wie es aussieht, sollte den job tun, aber ich weiß nicht, wie Sie dies in einfachen Kommandozeilen-app, sodass für die Ausgabe von Daten...
ebenfalls aus dieser Serie:
- Wie man eine Liste von video-capture-Geräte auf linux? und Besondere details, auf immer Kameras-NAMEN mit der richtigen, getestet Antworten
- Wie man eine Liste von video-capture-Geräte auf Mac OS? mit den richtigen, noch nicht getestet von meinen Antworten
- Wie man eine Liste von video-capture-Geräte auf windows? mit der richtigen, getestet Antworten
- So erhalten Sie eine Liste der video-capture-Geräte-NAMEN mit Qt (plattformunabhängig)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als in den Beispielen, kopieren Sie den folgenden code in dev.c. Dann öffnen Sie die Befehlszeile mit allen SDK-Variablen gesetzt werden. In der Befehlszeile link zu ole32.lib oleaut32.lib. Es zeigt dann alle Geräte an.
cl dev.c-ole32.lib oleaut32.lib
dev.exe geben aus der Liste auf der Befehlszeile.
Diese als Microsoft, was vernünftigerweise irgendwo um die 10 Zeilen code, welche Dank der Wunder COM, am Ende als ein paar hundert Zeilen oder so.
Wie lassen Sie Benutzer wählen Sie eine video-Aufnahme-Gerät (web-cam) mit OpenCV?
die Antwort nicht opencv bestimmten