我正在使用JavaScript for Windows 8 Metro App开发;然而,C#不是不可能的。我试图找到一种方法来指定我的网络摄像头可以支持照片捕捉的最高分辨率。到目前为止,我一直在使用MediaCapture类,所以我可以预览并仍然捕获图像。我注意到CaptureUI支持MaxPhotoResolution的选项。但是,我希望这是自动的,不需要用户交互。我正在用尽想法。这适用于自助服务终端应用程序,因此我可以完全控制设备,因此我们欢迎解决方法。任何想法或建议?Windows 8摄像头分辨率
为了测试,我使用了LifeCam Studio。相机应用程序提取1920×1080,而我的应用程序捕获640×480的照片。此外,驱动程序随附的软件完美无瑕!这是不是我的控制?
更新
我一直在寻找到设置特定的相机设置;弹出this;然而,到目前为止,我还没有任何与它的运气......
更新9月18日
我一直在挖掘,纷纷拿出this。分辨率属性返回;但是,setMediaStreamPropertiesAsync方法不起作用!我正在用尽想法。
更新为12月13日
我决定放弃最后努力,并使用一些18号所描述的方法,它通过JavaScript的工作,用的LifeCam Studio中,在官方的Windows 8版本。至于为什么,我不知道。这里是我使用的代码:
//media=MediaCapture object
function setBestResolution(media) {
//Gets collection of objects each describing the resolution, etc.
var resolutions = media.videoDeviceController.getAvailableMediaStreamProperties(Windows.Media.Capture.MediaStreamType.photo);
var numResolutions=resolutions.length;
for (var r = 0; r<resolutions;r++){
var res = resolutions[r];
//.width and .height are props. Debug to see all.
}
//I chose 40 as best option; however, programmatically you can choose any. I have dedicated kiosk app and same webcam and therefore don't need to.
media.videoDeviceController.setMediaStreamPropertiesAsync(Windows.Media.Capture.MediaStreamType.photo, resolutions[40]);
}
请允许我澄清问题是令人沮丧和未解决的。虽然没有运行时错误引发使用链接到社会MSDN谈话。它返回可能的格式列表。但是,使用setMediaStreamPropertiesAsync不具有任何作用。有任何想法吗?相机应用程序使用最大设置!我的应用程序没有。 :( – PlagueEditor