第一次写博客,如有错误请多多指教,随便当笔记了,哈哈。
在做win8.1程序开发的时候,想实现前后摄像头的切换,在网上查了好久,只查到了如何识别已调用的摄像头,于是自己捉摸了下,虽然方法有些简陋,不过效果还算说的过去。
打开主摄像头
Bool statusmedia=true;
DeviceInformationCollection deviceInformationCollection=new DeviceInformationCollection ();//检索可用摄像头
private async void Button1_Click(object sender, RoutedEventArgs e)
{
if(deviceInformationCollection>1)//可用摄像头个数大于一个
{
statusmedia =!statusmedia ;
MediaCapture mediaCapture=new MediaCapture ();//
private MediaCaptureInitializationSettings mediaCaptureInitializationSettings = new MediaCaptureInitializationSettings();
if(statusmedia)
{
mediaCaptureInitializationSettings.VideoDeviceId = deviceInformationCollection[0].Id;//主摄像头
}
else
{
mediaCaptureInitializationSettings.VideoDeviceId = deviceInformationCollection[1].Id;//副摄像头
}
await mediaCaptureMgr.InitializeAsync(mediaCaptureInitializationSettings);//相机初始化
ShowMedia.Source = mediaCapture;
await m_mediaCaptureMgr.StartPreviewAsync();//画面捕捉
}
}
画面窗口
<CaptureElement x:Name="ShowMedia" HorizontalAlignment="Left" VerticalAlignment="Top" Height="600" Width="800“>
以上便是摄像头切换的简单实现