如何以编程方式从我的Windows 10应用程序启动相机应用程序?

时间:2015-10-22 08:11:53

标签: c# windows-store-apps microsoft-metro windows-8.1 windows-10

我正在开发一个Windows 10应用程序。请告诉我一种从我的Windows商店应用程序打开相机应用程序的方法。 我知道我们可以使用LaunchUriAsync函数打开在注册表中注册了Uri的不同应用程序。但问题是我不知道Microsoft Windows默认相机应用程序的注册URI是什么。如果有人知道相机URI请与我分享。或者请告诉我一种打开没有注册URI的Windows应用商店的方法。

2 个答案:

答案 0 :(得分:1)

打开相机应用程序可能由于各种原因而失败,如果用户的PC没有可用的相机(即没有网络摄像头等),相机应用程序本身可能会抛出错误消息,所以我强烈建议 NOT 这样做。那说......

至少在Windows 10上,默认的相机应用安装协议URI为microsoft.windows.camera:。 (您可以在Control Panel\Programs\Default Programs\Set Associations下找到已安装的协议)编辑:注意,事实证明此协议未在Windows 8.1上注册,因此请记住这一点!

您可以使用LaunchUriAsync API来调用该URI,这应该会打开相机应用:

await Launcher.LaunchUriAsync(new Uri("microsoft.windows.camera:"));

正如我之前所说,但由于一系列原因,这可能会失败,因此我不建议这样做。如果您需要该功能,我建议使用Camera API并构建您自己的相机控件,因为您可以测试用户是否打开了相机,运气不错。如果你想要一个例子,请参阅我们在GitHub上维护的Camera Sample

答案 1 :(得分:0)

使用设备背面的标准相机:

PhotoCamera camera = new Microsoft.Devices.PhotoCamera(CameraType.Primary);

然后你抓住了一些事件来控制相机...