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/ ...
随机推荐
- 使用static与const关键字时需要掌握的知识
static:1.不考虑类,static的作用: 1)第一个作用:隐藏.使得全局变量和函数对其它文件不可见,同时避免了不同文件的命名冲突. 2)第二个作用:默认初始化为0.未初始化的全局静 ...
- 使用wordpress搭建独立域名的个人博客或网站
最近抽空闲时间搭建了一个独立域名的个人博客站点,基本过程如下: 一.准备工作: 1.准备一个独立的域名,我是从万网中注册的cn结束的域名:tuzongxun.cn,价格29元,根据个人选择,也有更高更 ...
- 【javascript】jQuery判断用户右击事件
jquery 判断用户是鼠标是右击还是左击, // 1 = 鼠标左键 left; 2 = 鼠标中键; 3 = 鼠标右键 $(document).mousedown(function(e) { if(3 ...
- MyEclipse之Widget is disposed
1 错误描述 2 错误原因 3 解决办法
- The struts dispatcher cannot be found
1.错误描述 严重:Servlet.service() for servlet jsp threw exception The struts dispatcher cannot be found.Th ...
- HQL查询步骤
HQL查询步骤 1.获取Hibernate Session对象 2.编写HQL语句 3.以HQL语句作为参数,调用Session的createQuery方法创建查询对象 4.HQL语句包含参数,则调用 ...
- DirectX--Filter属性页的调用
IEnumFilters* pEnum; HRESULT hr ; if (pigb) { hr = pigb-> EnumFilters(&pEnum); if (FAILED(hr) ...
- 网络协议笔记-网络层-路由器的作用、IP地址
1-[路由器在网际互连中的作用] 1.1-[直接交付和间接交付] 直接交付:当主机A要向另一个主机B发送数据报时,要先检查目的主机B是否与源主机连接在同一个网络上.如果是,就将数据报直接交付给目的主机 ...
- STM32f4 ARM Bootloader
参考资料: 基于ARM 的嵌入式系统Bootloader 启动流程分析 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计) Android系统启动 ...
- Delphi基础-数据类型
枚举类型 Pascal程序不仅用于数值处理,还更广泛地用于处理非数值的数据.例如,性别.月份.星期几.颜色.单位名.学历.职业等. 1. 枚举类型的定义 格式: type 枚举类型标识符=(标识符 ...