可視化程序設計基礎(二)——各項強大的功能之分析抖音


第二次的個人作業是閱讀微軟的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提供的功能遠不止這些,很多功能只有在需要使用的時候才會考慮到,就這樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM