我是初学者和刚刚介绍WP应用程序开发的学生,至于我的第一个项目,我决定构建一个功能有限的非常简单的相机应用程序。到目前为止,我准备好了我的GUI,我的问题是,如何激活主摄像头(或在前置摄像头和主摄像头之间切换)?这是我OnNavigatedTo
部分的代码,用于打开手机的前置摄像头。
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
Windows.Phone.UI.Input.HardwareButtons.BackPressed += BackButtonPress;
media = new MediaCapture();
await media.InitializeAsync();
////rotation
media.SetPreviewRotation(VideoRotation.Clockwise270Degrees);
// VideoRotation previewRotation = media.GetPreviewRotation();
////start Capture preview
////capturePreview is a CaptureElement defined in XAML.
this.capPrev.Source = media;
await media.StartPreviewAsync();
}
我可能错过了一行简单的代码,我不知道。我的应用程序现在启动前置摄像头而不是主摄像头。如何切换到主摄像头? (我在appbar上准备好了开关按钮,目前无效)。 谢谢
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用下面给定的行来枚举相机。
var set = new MediaCaptureInitializationSettings();
var devices = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture);
set.VideoDeviceId = devices[0].Id; // You should choose any value from devices collection
media = new MediaCapture();
await media.InitializeAsync(set);
不要忘记在OnNavigatedFrom
事件中处理相机。
protected async override void OnNavigatedFrom(NavigationEventArgs e)
{
await _camCapture.StopPreviewAsync();
media.Dispose();
}