Windows 10 IoT Core:视频录制移动应用程序

De****ne UID.1201912
2015-11-26 发表

本帖最后由 newsmanager 于 2015-11-26 14:23 编辑

***附件停止解析***

Windows 10 IoT Core的视频录制移动应用程序,是一个展示如何在Windows 10 IoT Core上创建视频捕获移动应用程序的实例,同时也支持在拍摄过程中预览视频。

需求组件:
[list=1]
[*]1个USB摄像头
[*]1个USB鼠标
[*]1个HDMI显示器和HDMI线
[*]1个树莓派2开发板
[/list]
建立示例移动应用程序:
[list=1]
[*]连接USB摄像头,USB鼠标,HDMI显示器,以太网电缆(或者WiFi无线网络)到树莓派2,然后打开它
[*]***链接停止解析***,构建并部署到树莓派2上
[*]查看如何在树莓派2上运行
[/list]
移动应用程序建立核心步骤:

[list=1]
[*]打开VS2015,创建一个新的Windows通用空白应用程序:
***附件停止解析***
[*]启用package.appxmanifest功能,确保麦克风和视频库(用于保存音频文件)以及网络摄像头功能被选中:
***附件停止解析***
[*]在MainPage.xaml中,添加按钮“开始捕捉”,“结束捕捉”,“播放拍摄的视频”,增加一个“捕捉元件”用于视频预览和一个“媒体元件”用于视频播放
[mw_shl_code=c,true]<Button x:Name="btn1" Content="Start Capturing" Click="startCapture" Margin="10,50,0,0"></Button> <Button x:Name="btn2" Content="End Capturing" Click="stopCapture" Margin="10, 20,0,0"/> <Button x:Name="btn3" Content="Play Captured Video" Click="playVideo" Margin="10, 20, 0,20"/> <TextBox Text="Video Preview Window:" Margin="10,10,0,5" TextAlignment="Center" BorderThickness="0"/> <CaptureElement Name="capturePreview" Height="300" Margin="10,10,0,10" Width="300"/> <TextBox Text="Video Review Window" Margin="10,10,0,5" TextAlignment="Center" BorderThickness="0"/> <MediaElement Name="media" AutoPlay="True" AreTransportControlsEnabled="False" Height="300" Width="300" Margin="10,10,0,10" > </MediaElement>[/mw_shl_code]
[*]在MainPage.xaml.cs中,你将需要枚举找到录像机设备:
[/list]
[mw_shl_code=c,true]var devices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(Windows.Devices.Enumeration.DeviceClass.VideoCapture);[/mw_shl_code]
[list]
[*]设置“捕获设置”:
[/list]
[mw_shl_code=c,true]captureInitSettings = new Windows.Media.Capture.MediaCaptureInitializationSettings();captureInitSettings.StreamingCaptureMode = Windows.Media.Capture.StreamingCaptureMode.AudioAndVideo;captureInitSettings.PhotoCaptureSource = Windows.Media.Capture.PhotoCaptureSource.VideoPreview;[/mw_shl_code]
[list]
[*]初始化“媒体捕捉”:
[/list]
[mw_shl_code=c,true]mediaCapture = new Windows.Media.Capture.MediaCapture();await mediaCapture.InitializeAsync(captureInitSettings);[/mw_shl_code]
[list]
[*]创建文件:
[/list]
[mw_shl_code=c,true]profile = Windows.Media.MediaProperties.MediaEncodingProfile.CreateMp4(Windows.Media.MediaProperties.VideoEncodingQuality.Qvga);[/mw_shl_code]
[list]
[*]开始录制:
[/list]
[mw_shl_code=c,true]var storageFile = await Windows.Storage.KnownFolders.VideosLibrary.CreateFileAsync("cameraCapture.wmv", Windows.Storage.CreationCollisionOption.GenerateUniqueName); await mediaCapture.StartRecordToStorageFileAsync(profile, storageFile);[/mw_shl_code]
也可以在拍摄过程中启动预览:
[mw_shl_code=c,true]// start the preview capturePreview.Source=mediaCapture; await mediaCapture.StartPreviewAsync(); [/mw_shl_code]
[list]
[*]停止录制和预览:
[/list]
[mw_shl_code=c,true]private async void StopMediaCaptureSession() { await mediaCapture.StopRecordAsync(); recording = false; (App.Current as App).IsRecording = false; //stop the preview await mediaCapture.StopPreviewAsync(); }[/mw_shl_code]
[list]
[*]播放录像:
[/list]
[mw_shl_code=c,true]private async void playVideo(object sender, RoutedEventArgs e) { Windows.Storage.StorageFile storageFile = await Windows.Storage.KnownFolders.VideosLibrary.GetFileAsync(fileName); var stream = await storageFile.OpenAsync(Windows.Storage.FileAccessMode.Read); // mediaControl is a MediaElement defined in XAML if (null != stream) { media.Visibility = Visibility.Visible; media.SetSource(stream, storageFile.ContentType); media.Play(); } }[/mw_shl_code]

工具和源码:
***链接停止解析***,***链接停止解析***

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
KingHowe UID.1225947
2015-11-26 使用 Lumia 930 回复

不错啊帅哥,很少人关注win10 iot.有心了。请问开发教程能打包吗

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报