Know your weapons Ⅱ
本次内容主要讲述使用UWP相关技术可以实现的软件上的一些功能,这里以Netease-Cloud Music(下称Cloud Music)为例讲述,这款音乐软件我个人一直在用,毕竟人们生活离不开音乐,说起来稍微顺手一些。
1.Cloud Music的音频播放功能----
作为一个主流音乐播放软件,这可以说是个最基本的功能了,直接上图:


这里可以使用Audio,video,and camera 中的技术实现:
https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/
从第二张图里可以看到Cloud Music同样可以实现视频播放的功能,使用的同样是Audio,video,and camera 节点下的一些技术。
2.Cloud Music的音乐分享功能----
网络社交已成大部分人主要的交流和展现自我的方式之后“分享”就变得尤为重要,一个好的音乐软件必然也不会缺少这一环:

诸如此类的数据分享功能可以通过App-to-app communitcation中的相关技术实现:
https://docs.microsoft.com/en-us/windows/uwp/app-to-app/
应用程序中支持Share contract(共享协议),可以在应用程序之间快速的共享数据——App-to-app communitcation中的Share data节点
当用户调用共享时,系统显示可能的目标应用程序列表。为了出现在列表中,您的应用需要声明它支持Share contract。这让系统知道您的应用程序可用于接收内容——App-to-app communitcation中的Receive data节点
3.Cloud Music支持本地音乐的扫描,播放和上传----
我一开始觉得这个功能其实有些鸡肋,毕竟现在从来都是从音乐商店下歌来听没多少人需要扫描本地音乐这一步了,不过一些因为地区问题或者版权问题无法在Cloud Music上获得的一些音乐,从某些默默无闻无私奉献的网站上下载到本地之后这个功能还是很有价值的:


这个功能可以通过Audio,video,and camera 下的Import media from a device节点中的功能实现:
https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/import-media-from-a-device
该技术可实现从设备导入媒体,包括搜索可用媒体源,导入视频,音频和照片等文件,并从源设备中删除导入的文件。
4.Cloud Music的每日推荐!----
这个功能我个人是很喜欢的(虽然我听的曲子有点偏),不仅是每日推荐,它推荐歌单等内容也会根据你过去的播放历史通过分析来想你推荐相同风格的音乐(有些相似音乐或许也是你曾经听过或下载过的音乐):(因为用手机听音乐偏多,下面的展示用手机截图代替)

以上功能可以通过Machine Learning中的技术实现:
https://docs.microsoft.com/en-us/windows/uwp/machine-learning/
机器学习(ML)允许计算机使用现有数据来预测预期的结果和行为。通过处理先前收集的数据,ML算法建立的模型可以在输入新输入时预测正确的输出。让我来介绍机器学习这个技术我的能力还是非常不够的,但是感觉这个很高大上啊,所以就想着一定要提一下。机器学习确实给我们们的生活带来了极大的便利,也给马云爸爸送去了好多钱。
5.Cloud Music的账户和联系人----
这个我感觉没什么多说的,现在基本上所有的软件都需要用户创建独立的账户添加联系人:


以上功能可以通过Contacts, My People, and calendar 中的相关技术实现:
https://docs.microsoft.com/en-us/windows/uwp/contacts-and-calendar/
其实我还想写一个听歌识曲的功能但是我在UWP中没有找到相关技术节点,本以为是在Devices, sensors, and power中的某一项但是还是找不到匹配的内容。后再我在某度上搜索后发现:

所以以上就是我这次分享的全部内容,谢谢观看!
Know your weapons Ⅱ的更多相关文章
- what is archeage honor weapons?
in my opinion,there are many kinds of weapons in archeage online, those include basic weapons and ma ...
- codechef [snackdown2017 Onsite Final] Fusing Weapons
传送门 题目描述 大厨最近迷上了一款勇者斗恶龙的游戏. 游戏每局开始前,会有 N 件武器摆成一圈.每件武器有一个整数的等级.大厨可以选择两件 相邻的等级相同(不妨设同为 A 级)的武器,将它们合成.这 ...
- 《Note --- Unreal 4 --- Sample analyze --- StrategyGame(continue...)》
---------------------------------------------------------------------------------------------------- ...
- Unity 最佳实践
转帖:http://www.glenstevens.ca/unity3d-best-practices/ 另外可以参考:http://devmag.org.za/2012/07/12/50-tips- ...
- 在Unity环境下使用抽象和接口
http://gamasutra.com/blogs/VictorBarcelo/20131217/207204/Using_abstractions_and_interfaces_with_Unit ...
- Ninject学习(一) - Dependency Injection By Hand
大体上是把官网上的翻译下而已. http://www.ninject.90iogjkdcrorg/wiki.html Dependency Injection By Hand So what's Ni ...
- Tips for newbie to read source code
This post is first posted on my WeChat public account: GeekArtT Reading source code is always one bi ...
- Ignite安装配置——上篇
Ignite介绍 Ignite 是SolarWinds公司开发的一款数据库性能监控.性能分析并提供优化解决方案的性能检测分析工具,Ignite配置简单.方便:它会收集实时会话数据.服务器资源使用情况, ...
- Protecting against XML Entity Expansion attacks
https://blogs.msdn.microsoft.com/tomholl/2009/05/21/protecting-against-xml-entity-expansion-attacks/ ...
随机推荐
- Micropython 如何用Turnipbit做一个自动浇水装置
最近在研究Turnipbit这块板子,打算是连接一个摄像头模块,正在实验练习中,(祝自己早日弄好)上篇文章我们讲了用Turnipbit连接LCD5110显示英文词句,前几天给家里花浇水的时候发现花招了 ...
- numpy 实践记录
reshape是从低维度到高维度.max,sum等函数都是注意axis,不选择就是全体计算. swapaxes 转换轴,将两个选择的轴对调,在CNN中X乘W有的时候需要拉伸,如果轴不同结果不对. 看p ...
- FusionWidgets Bulb图
1.数据源提供 Bulb.xml: <?xml version="1.0" encoding="UTF-8"?> <chart lowerLi ...
- List转换成JSON对象报错(三)
List转换成JSON对象 1.具体错误如下 Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/e ...
- 如何给filter添加自定义接口及调用
本例子是在VirtualCamera的基础上添加的自定义接口用来实现exe控制osd的显示. 1. 接口部分 #ifndef __H_MyFilter__#define __H_MyFilter__# ...
- Java并发编程笔记4-线程池
我们使用线程的时候就去创建一个线程,但是就会有一个问题: 如果并发的线程数量非常多,而且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会导致大大降低系统的效率,因为频繁创建线程和销毁线 ...
- Python Web-第五周-Web Services and XML(Using Python to Access Web Data)
1.Web Service Overview 1.Data on the Web Python Dictionary 和 Java HashMap间需要建立一个桥梁,可以用XML或是JSON 2.XM ...
- 用自定义注解实现fastjson序列化的扩展
这篇文章起源于项目中一个特殊的需求.由于目前的开发方式是前后端分离的,基本上是通过接口提供各个服务. 而前两天前端fe在开发中遇到了一些问题:他们在处理字符串类型的时间时会出现精度丢失的情况,所以希望 ...
- c++面试遇到问题
1. C 和 C++ 区别 2. const 有什么用途 主要有三点: 1:定义只读变量,即常量 2:修饰函数的参数和函数的返回值 3: 修饰函数的定义体,这里的函数为类的成员函数, ...
- ajax错误处理 500错误
在使用ajax请求的时候 ,如果服务器返回的是500错误,或者其他非正常的http错误状态码时 会提示下面的错误 而我们需要把错误信息处理出来 $.ajax({ type:'get', url:&q ...