Я использую WIA (Windows Image Acquisition) для захвата фотографий с камеры.Используя WIA 2.0, .net 4 C #, моим тестовым устройством является Nikon D90 (да, у меня оно действительно подключено).Сценарий таков:
- Пользователь подключил камеру к ПК
- Пользователь делает фотографию с самой камеры
- Мое приложение загружает изображение через WIA
Все вышеперечисленное работает.
У меня проблема с получением текущего времени от самого устройства.В первый раз, когда я получаю время от устройства, я получаю правильное время, все хорошо.Если я снова запускаю свое приложение, WIA, похоже, кеширует время, которое я получил раньше, и возвращает его, что бесполезно.
// use the WIA.DeviceManager to get the deviceInfo (not shown)
var device = deviceInfo.Connect();
var prop = device.Properties["Device Time"];
Vector deviceTimeVector = (Vector)prop.get_Value();
var deviceTime = deviceTimeVector.Date;
Кто-нибудь, кто работал с WIA, знает, как надежно получить текущее время отУстройство?Я попытался синхронизировать, но это, похоже, не имеет никакого эффекта.
_device.ExecuteCommand(WIA.CommandID.wiaCommandSynchronize);
Открыт для предложений тоже.Я думал, что мой единственный другой способ - это «откалибровать» устройство, сделав пробный снимок, проверив, сколько времени прошло на этом снимке, но с этим тоже есть проблемы.
Пожалуйста, дайте мне знать, если вам нужнолюбая информация.