Uwp学习笔记 二

今天结合一款移动端的uwp应用分析一下uwp的一些硬件相关功能。因为有幸买过一部微软的lumia phone,lumia950(其实是二手的,但是当年刚出来的时候还是非常惊艳的).发现微软总是喜欢将产品的一些配置弄的很好,而对一些地方则漠不关心(也许只是单纯不在意手机这个平台?)当年的lumia1020 就配备了出色的4100万光学变焦的卡尔蔡司镜头,一直到最后一部lumia950xl也是2000万的像素,还有出色的2k AMOLED屏幕,可是就是摄像头的地方没有1020做的漂亮,还有就是上面还有15年的时候十分少见的虹膜识别和液冷技术,对就是液冷,没想到微软会将它用到一部手机上吧。只可惜看来微软的手机之路也就在这里完结,SurfacePhone看起来是遥遥无期了。

比之手机,微软的其它产品似乎十分畅销,比如Surface和Xbox,以至于windows10的操作系统设置周都有相关设置项。当然不论是Surface还是Xbox(其实我觉得SurfaceBook比起Surface要好许多)都是非常昂贵的…….

下来进入正题,今天介绍这款叫PerfectTube的第三方YouTube客户端。

首先,这是它一进去的界面显示的是本地视频,这是因为我没有登录账号,因为YouTube是IPv6的,这也是当初买这个手机的原因(有时候ppi太高也不是什么好事)如果联网的话,界面是这样的

它会转换为你的关注。

这个功能应该是网页的爬取(虽然说实话,这种带加密的网页模拟登录是真的麻烦,就像qq邮箱,尼玛好几道工序加密密码,又是MD5又是RSA,在它那个js文件里,3000多行,反正我是没办法)

这就是msdn的文档HttpClient

https://docs.microsoft.com/en-us/windows/uwp/networking/httpclient

但是好像爬网页的话也可以用WebRequest和WebRespond(忘了是不是这两个类)但都是通过填写Http头部,然后自己填一份登录信息表单来提交。当然,这个程序我感觉可能不是这种方式,要是有像wpf中的WebBrowser那样的控件,然后在自定义一下模板感觉比较方便(当然只是猜想,因为我也没有用过WebBrowser控件)

点开一个视频后是这样的

你可以通过右上角的那个下箭头来下载(或者按他的说法Preload——缓存)

下面是这个视频的介绍,从中你可以看出,即使有着一道墙,也是阻止不了国人的。

这个技术嘛,我想可能和

https://docs.microsoft.com/en-us/windows/uwp/networking/background-transfers

有一些关系,不过对于其如下的描述我确实不能苟同。

既然是一款视频客户端,最重要的应该还是有关视频播放和挂起的功能,也许是外国人的习惯与我们有些不同,在这款应用中,你在一个视频播放页面点击返回后,这个视频会以小窗口播放,你可以浏览你想看的其他视频

就像这样,但是你一旦点击另一个视频,他就会立即开始播放那个视频(可是有时候真的只是为了点进去看清楚封面啊!)而bilibili的安卓客户端则与之相反,在一个播放的视频中你不能返回,只能在这页的链接中去寻找别的视频,当然点进去看封面也是无所谓的。

下来就是视频播放的页面,look

(看起来横屏舒服多了!)

上面一行是清晰度,界面很简单,但不失美观。如果在这里的话,这个方法一定有用

https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/transcode-media-files

视屏的编/转码,非常坑的是格式支持真的少的一批

(上图是Pr的格式输出,虽然和这种软件比起来有些欺负它)但没错,少的一批,就是FLV都不支持。

当然,这个播放器有一些莫名奇妙的功能,比如,它对一些视频支持后台播放,而一些则是随着屏幕的关闭而停止,别以为安卓播放器轻易能做到的东西uwp也会做到,也许它能做到,但是它有时却不会,就像这款播放器,如果你不选上面的“audio”纯音轨输出选项,他就不会后台播放。

也许我该建议开发者去看看这个?

https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/process-media-files-in-the-background

当然了,我没有这么自大,毕竟uwp平台的开发者都是宝贝一样的,得罪了他们,我以后还用什么应用啊。

UWP应用的后台问题好像是个通病,怎么说呢就像UWP版的网易云音乐,和桌面版相比,最讨厌的就是在你单击“close“时,它不会提供隐藏到托盘这个选项,为什么呢,因为跨平台啊,不过如果为了追求Windows桌面应用的极致的话WPF是不错的选择,而且估计在学完这门课程后,大家看到WPF就会呵呵了。

最后一个功能呢,并不是这个程序自带的,而是WindowsPhone的快捷键功能:屏幕抓取(其实就是截屏了Screencapture)

他的判定我感觉比我的另一部小米好很多,因为在这个操作时从来没有误触发别的东西,不像小米的那个,一下子菜单就出来了,把重要的东西挡了一半…难受。

这个功能嘛,怕是用到了这个

https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/screen-capture

从它引用的名空间中可以看出,它和media没有什么关系,而是和graphics有着莫大关系,说起graphics可是没有少折磨过我。以前在JavaSwing中使用自定义控件继承基础控件或者直接继承Component时,没有少用Graphics2D手绘控件,为什么呢,因为网上说GDI绘制的控件“轻“,效率会高一些。然而最后还是惨不忍睹,就用Swing和WPF的代表作来看

没错就是这两款编译器,VS的顺畅比起Idea还是高出一截的(网上说idea是swing的界面)但是IDEA的代码补全是我见过最棒的,在它里面编完一个程序有可能连一个方法的全名都记不住……

OK That’s all!

UWP 学习笔记 二相关推荐

  1. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  2. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

  3. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  4. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  5. Scapy学习笔记二

    Scapy学习笔记二 Scapy Sniffer的用法: http://blog.csdn.net/qwertyupoiuytr/article/details/54670489 Scapy Snif ...

  6. Ethernet/IP 学习笔记二

    Ethernet/IP 学习笔记二 原文链接:http://wiki.mbalib.com/wiki/Ethernet/IP 1.通信模式 不同于源/目的通信模式,EtherNet/IP 采用生产/消 ...

  7. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

  8. 吴恩达《机器学习》学习笔记二——单变量线性回归

    吴恩达<机器学习>学习笔记二--单变量线性回归 一. 模型描述 二. 代价函数 1.代价函数和目标函数的引出 2.代价函数的理解(单变量) 3.代价函数的理解(两个参数) 三. 梯度下降- ...

  9. ASP.NET MVC 2 学习笔记二: 表单的灵活提交

    ASP.NET MVC 2 学习笔记二:  表单的灵活提交 前面说到有做到公司内部的一个请假系统,用的是ASP.NET MVC 2+Entity Framework.虽然EF(Entity Frame ...

  10. amazeui学习笔记二(进阶开发4)--JavaScript规范Rules

    amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...

最新文章

  1. TOML-to-Go : 帮你快速生成 Go 结构体
  2. python二十七:从最内部的循环直接跳出来
  3. Linux定时备份数据到百度云盘
  4. python opencv实现目标区域裁剪
  5. C++递增运算符重载
  6. react动画库_React 2020动画库
  7. [ubuntu] ubuntu20.04 卸载 firefox 下载 chrome
  8. tmp name php,linux环境 上传文件失败 tmp_name为空
  9. Hibernate getById方法 could not initialize proxy - no session
  10. 修改app的名字和图标
  11. 单片机|CC2530实验入门
  12. 北漂生活第十四弹-5.24 兜兜转转又是一周
  13. ubuntu 18.04.1安装RTL8821CE无线网卡驱动
  14. 基于python实现FFT和DWT记录
  15. 诺维信和科汉森合并获股东批准,将共同创建一家世界一流的发酵公司
  16. Codeforces Round #657 (Div. 2) B题 Dubious Cyrpto
  17. 使用Calibre转换任意格式为支持KF8的mobi文件
  18. 小米10至尊纪念版和Redmi K30至尊纪念版的区别 哪个好
  19. 服务器的固态硬盘使用raid非ssd,在VMware ESXi中使用固态硬盘的注意事项
  20. Vue使用Echarts实现广西地图(旧版)

热门文章

  1. 整理了25个Python文本处理案例,收藏!
  2. 计算机考研英语一历年国家线,历年考研英语国家线
  3. 户外LED透明屏与室内透明屏区别,选型号建议
  4. 网络调试助手连接远程服务器
  5. 网站被微信浏览器拦截怎么办 微信屏蔽网址打开如何解决
  6. 我的世界服务器无限血,我的世界生物血量无限指令 | 手游网游页游攻略大全
  7. “刀片嗓”“水泥鼻”“咳出肺”可以这样缓解!
  8. 一个点击率10万+的恶搞程序送给大家!
  9. excel计数连续负数(正数)
  10. 4个团队领导必备的技能和素质