可视化程序设计基础(二)——各项强大的功能之分析抖音

第二次的个人作业是阅读微软的develop apps,在粗略的浏览过一遍后我感觉UWP在支持的服务上可以称得上全面,从传统的音频视频处理到网络通信再到如今流行的机器学习都有相应的接口与实现。那么,我就从一个红遍大江南北的手机软件抖音入手,分析一下如果制作一个UWP版的抖音都需要什么服务。


 (一)利用系统相机拍摄视频

首先,既然我要制作的是一个短视频类APP,那么不可避免的用户会使用相机拍摄视频,在获取摄像头和麦克风权限后,我们这个手机软件就可以通过相机记录下用户拍摄的短视频,用来编辑或上传。这个功能用到了CameraCaptureUI这样一个类来简单的获取照片及视频,同时我猜测在建立MediaCapture后我们还可以通过AddVideoEffectAsync方法来给视频添加不同的效果。

抖音的拍摄界面是这个样子的:

利用系统相机进行拍摄的方法在这里:https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/capture-photos-and-video-with-cameracaptureui

给视频添加效果在这里:https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/effects-for-video-capture


 

(二)利用网络进行传输

其次,在用户拍摄完属于自己的短视频后,还需要上传到网络上,让自己以及其他用户能看到,而用户在观看别人上传的视频时同样也会使用到网络,这就需要网络通信的相关服务,包括建立连接,加密等等,虽然现在网络通信功能基本所有APP都会使用,但如何更快更好的通信仍是我们需要考虑的。

抖音用户观看其他视频时的界面:

网络通信相关内容在这里:https://docs.microsoft.com/en-us/windows/uwp/networking/networking-basics


 

(三)用户选择地点

用户在发布视频的时候还可以附带上地址,这就需要使用UWP中的地图部分,我认为应该是通过识别用户在地图上标记的点的位置来选定用户想要发送的地址,在Windows.UI.Xaml.Controls.Maps命名空间下我们可以利用MapIcon这个类来实现在地图上标点的功能。

抖音中选定地点的位置:

显示地图的功能在这里:https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/display-maps

用户在地图上选点的功能在这里:https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/display-poi


(四)用户分享到其他应用

作为一款有着社交功能的软件,抖音上的用户肯定都希望自己的视频能够被更多的人所看到的,所以大部分人在发布视频后会选择分享到其他平台,这时就需要在应用间传输数据,即app-to-app,其核心在于DataRequested方法和DataPackage类,这些为我们在应用间传递图片,html等提供了很好地服务。

抖音上的分享页面:

分享数据的相关内容在这里:https://docs.microsoft.com/en-us/windows/uwp/app-to-app/share-data


 

(五)用户喜爱的视频

抖音上每个用户都可以对其他视频进行评价或选择喜爱,每个用户自身都有一个喜爱的列表,可以让用户随时查看自己喜爱的视频,这一功能我认为应该是通过数据库相关知识实现的,应用通过记录用户喜爱的视频到服务器端的数据库来使每个用户随时查看,而且在我断开网络后我发现我仍然可以看到我喜爱的视频数量,这证明在本地也有一个数据控存储数据。

用户喜爱的视频界面:

数据库相关功能在这里:https://docs.microsoft.com/en-us/windows/uwp/data-access/sql-server-databases


 

以上就是我认为如果制作出类似抖音这么一款软件需要的一些功能。UWP提供的功能远不止这些,很多功能只有在需要使用的时候才会考虑到,就这样。

posted @ 2018-03-27 09:16  cui-jia-hua  阅读(1263)  评论(2编辑  收藏  举报