Posts Tagged ‘UWP’

在 UWP 视频处理相关的开发任务中,有时候我们会通过 IBasicVideoEffect 接口和 Win2D 组件来实时地对视频应用一些效果。一般情况下,我们会将 IBasicVideoEffect.SupportedEncodingProperties 设置为 MediaEncodingSubtypes.Argb32 ,这样我们拿到视频帧的 surface 后,可以直接使用 CanvasBitmap.CreateFromDirect3D11Surface 方法来将它转换为 CanvasBitmap ,然后做其他处理(比如保存为图片文件)。然而在大部分情况下,视频流都是用 H.264 编码的,这时候如果不将 IBasicVideoEffect.SupportedEncodingProperties 设置为 MediaEncodingSubtypes.Nv12 的话,播放高码率视频的时候会卡得你怀疑人生;但是设置了 NV12 格式后,你又会发现 Win2D 不支持直接将 NV12 格式的 IDirect3DSurface 转为 CanvasBitmap (目前 Win2D 只支持 ARGB 类的格式)。本文提供将 NV12 格式的 IDirect3DSurface 转换为 CanvasVirtualBitmap 并保存为图片文件的方法。

Read the rest of this entry »

众所周知,UWP提供了强大的样式可定制化的Toast通知功能,然而这些消息都是和系统集成的,屏幕显示位置固定,而且和系统操作中心深度集成。然而有时候我们只想让app提示一些短暂的消息,比如用户添加收藏,app提示“收藏已添加”。这种消息只需要显示1到2秒左右,而且不需要用户交互。尽管在UWP中我们可以把这种消息放到某种状态栏中,但是类似Android系统提供的那种Toast通知方式效果更好。这里我们实现一个PopupManager来提供Toast通知的队列和显示功能。

Read the rest of this entry »

World Line
Time Machine
Online Tools