摘要:2017年剛剛過去,要說目前最流行APP的是什么,肯定是以音頻視頻內(nèi)容傳播的自媒體了。它的出現(xiàn)給人們無聊的生活增添了一抹樂趣,同時(shí)也讓用戶可以享受到更多的樂趣。火爆過后的媒體直播APP應(yīng)用激發(fā)了廣大的技術(shù)粉的關(guān)注,而在生產(chǎn)過程中會(huì)遇到什么重點(diǎn)和難點(diǎn)呢?本文以開發(fā)流程為主線帶領(lǐng)大家去解析下這樣的APP開發(fā)的步驟以及各模塊的實(shí)現(xiàn)方法。
關(guān)鍵詞:流媒體傳播;音頻;視頻;AVPLayer播放器;自定義播放
開發(fā)一個(gè)APP產(chǎn)品大致會(huì)經(jīng)歷以下幾個(gè)階段:需求預(yù)算分析、原型設(shè)計(jì)、UI設(shè)計(jì)、程序開發(fā)、測(cè)試、發(fā)布、運(yùn)營迭代以及日常維護(hù)。
一、開發(fā)APP幾個(gè)階段
需求預(yù)算分析:以內(nèi)容體系為導(dǎo)向建立完善并合乎邏輯的需求文檔。包括:以什么內(nèi)容來解決用戶痛點(diǎn);分解成一個(gè)個(gè)明確的需求功能點(diǎn);構(gòu)思一套布局并通過圖文描述;音頻視頻內(nèi)容的調(diào)研和錄制格式;內(nèi)容資源的來源;公司內(nèi)容官的持續(xù)輸入方式;如何打造頭部以及如何吸引粉絲等各種條件綜合打造一款方案。
原型設(shè)計(jì):產(chǎn)品經(jīng)理根據(jù)已明確的需求,對(duì)App進(jìn)行功能的結(jié)構(gòu)性布局,各分頁面的設(shè)計(jì),并設(shè)計(jì)頁面的跳轉(zhuǎn)邏輯,考慮音頻視頻播放器的交互效果,輸出App示意出包含邏輯功能的原型設(shè)計(jì)圖;
UI設(shè)計(jì):UI設(shè)計(jì)師需要多次和產(chǎn)品經(jīng)理溝通,根據(jù)產(chǎn)品的原型頁面設(shè)計(jì)進(jìn)行UI界面的配色,功能具象處理,交互設(shè)計(jì),最終產(chǎn)出各個(gè)App頁面的高保真設(shè)計(jì)效果圖。UI效果圖基本跟最終App看到的頁面效果一樣。
開發(fā):App開發(fā)人員拿到UI設(shè)計(jì)圖后,會(huì)根據(jù)各個(gè)UI界面效果圖進(jìn)行功能和界面的開發(fā)。
項(xiàng)目測(cè)試:App功能開發(fā)完成后,測(cè)試人員會(huì)對(duì)整個(gè)App進(jìn)行測(cè)試,發(fā)現(xiàn)程序中一些問題,一般開發(fā)人員需要同步調(diào)試測(cè)試人員發(fā)現(xiàn)的問題;而完成項(xiàng)目測(cè)試調(diào)試最重要的環(huán)節(jié)是問題的管理,追蹤各個(gè) bug 的進(jìn)度以及狀態(tài),包括指派給誰、優(yōu)先級(jí)、修復(fù)狀態(tài)等等,以便有質(zhì)量地完成問題的處理。
發(fā)布:經(jīng)過至少兩輪的內(nèi)部測(cè)試以及小范圍外測(cè)后。安卓:需要對(duì)App進(jìn)行打包,簽名,之后就可以發(fā)布到app應(yīng)用市場(chǎng)了;蘋果:發(fā)布到AppStore,等待23天審核,通過就可以在iTunes 下載了;Web前端:上傳代碼到服務(wù)器端就可以通過瀏覽器訪問了。
運(yùn)營迭代:產(chǎn)品正式投放到市場(chǎng)之后,會(huì)得到用戶以及市場(chǎng)本身的一些反饋,從而知道該如何修正或者調(diào)整運(yùn)營策略,當(dāng)目前系統(tǒng)的功能再也無法滿足項(xiàng)目需求時(shí),就需要規(guī)劃新一版本功能的迭代了。這時(shí)候就需要重新經(jīng)歷:需求分析原型設(shè)計(jì)UI設(shè)計(jì)開發(fā)測(cè)試調(diào)試發(fā)布 這些流程。
日常維護(hù):在項(xiàng)目正式運(yùn)作的時(shí)候,達(dá)到即便是已經(jīng)相對(duì)階段穩(wěn)定,出現(xiàn)一些小問題也會(huì)有可能,或者一些隱藏得比較深bug的發(fā)現(xiàn),需要有相關(guān)的運(yùn)營人員進(jìn)行問題的收集以及程序員對(duì)源代碼作出及時(shí)的修改。
二、以某金融教育APP為例介紹各模塊的實(shí)現(xiàn)
一個(gè)完整的APP項(xiàng)目包括服務(wù)器端和手機(jī)端。服務(wù)器端指的是服務(wù)器環(huán)境架設(shè)(中國內(nèi)一般都是用阿里,騰訊,百度服務(wù)器),包括:內(nèi)容資源的放置結(jié)構(gòu),存儲(chǔ)空間,下載速度,設(shè)計(jì)數(shù)據(jù)庫和編寫API接口,編寫接口協(xié)議文檔。手機(jī)端按照目前行業(yè)主流又分為Android,iOS和基于Web瀏覽器的用戶交互。根據(jù)UI設(shè)計(jì)圖進(jìn)行界面開發(fā),UI 開發(fā)完成則進(jìn)入和服務(wù)端接口對(duì)接,通過服務(wù)端的接口獲取數(shù)據(jù),編寫功能代碼。
以某金融教育APP為例,手機(jī)端三端都必須實(shí)現(xiàn)三大模塊:首頁展示,我的模塊,音視頻播放模塊。
首頁模塊包括:輪播圖,快捷入口,首頁瀑布流展示,搜索系列頁面。我的模塊含有各種記錄,包括:購買記錄,優(yōu)惠券兌換,會(huì)員時(shí)限,學(xué)習(xí)時(shí)長統(tǒng)計(jì),簽到和登錄會(huì)員狀態(tài)等一系列狀態(tài)記錄,以上頁面邏輯以及布局三個(gè)端(iOS,Android,Web)所用都是各自傳統(tǒng)的技術(shù),都可以簡單搞定輕松完成。而對(duì)于三個(gè)端最頭痛最復(fù)雜的難點(diǎn)是什么呢?帶著問題我們來看看音視頻播放模塊。通過各個(gè)入口鏈接都會(huì)進(jìn)入到課程詳情頁(準(zhǔn)備開始播放音頻或者視頻)。從詳情頁邏輯開始變的復(fù)雜起來,包括試聽,購買,分享等多種邏輯在同一頁面。點(diǎn)擊課程目錄就會(huì)跳轉(zhuǎn)音頻播放頁播放音頻開始收聽或者視頻播放頁開始觀看。要做提升客戶體驗(yàn),不僅僅只是可以播放而已,而是需要定制播放方式。
三、使用AVPLayer提升iOS用戶體驗(yàn)
無論是音頻或視頻頁都需要包括:回到上次播放那一節(jié)回到那一節(jié)上次看到的時(shí)間斷點(diǎn)繼續(xù)播放,在用戶點(diǎn)擊播放、暫停、拖拽進(jìn)度條、播完一節(jié)的時(shí)候上傳日志給服務(wù)器記錄播放狀態(tài),播放器能一集一集自動(dòng)播放播放列表里任務(wù)。
視頻播放頁特殊需求:點(diǎn)擊全屏按鈕播放器能全屏播放,旋轉(zhuǎn)到橫屏或豎屏?xí)r播放器自動(dòng)做全屏或窗口播放模式切換。
音頻播放頁特殊需求:APP退出到后臺(tái)能繼續(xù)收聽,可以上一首下一首切換,播放速率可以調(diào)整(1倍,1.25倍,1.5倍,2倍)。
下面重點(diǎn)介紹iOS解決的辦法——使用AVPLayer。AVPlayer是用于管理媒體資產(chǎn)的播放和定時(shí)控制器對(duì)象它提供了控制播放器的接口,如它可以在媒體的時(shí)限內(nèi)播放,暫停,和改變播放的速度,并有定位各個(gè)動(dòng)態(tài)點(diǎn)的能力??梢允褂肁VPlayer來播放本地和遠(yuǎn)程的視頻媒體文件,如QuickTime影片和MP3音頻文件,后臺(tái)播放,以及視聽媒體使用HTTP運(yùn)用m3u8流媒體直播服務(wù)。并要求自定義播放。達(dá)到定制播放要求,滿足用戶需求。
關(guān)于AVPlayer的詳細(xì)使用方法不是論述重點(diǎn),如果有興趣的讀者可以查看科技風(fēng)2018年1期的文章iOS通過AVPLayer 打造視頻,以及到http://github.com/zhangpengfic/ZPlayerHYPERLINK"http://github.com/zhangpengfic/ZPlayer" 下載源碼學(xué)習(xí)AVPlayer的使用。
四、結(jié)語
上述就是APP開發(fā)的大致過程。實(shí)際項(xiàng)目往往會(huì)涉及到人與人之間的復(fù)雜溝通以及協(xié)作,還是需要有嚴(yán)謹(jǐn)?shù)墓芾硪?guī)范以及彈性的流程控制才能達(dá)到較高水準(zhǔn)的項(xiàng)目質(zhì)量。
參考文獻(xiàn):
[1]張鵬.iOS通過AVPlayer打造視頻[J].科技風(fēng),2018(1).
[2]馬麗,薛根奇,趙偉艇.基于iOS的隨身筆記客戶端的設(shè)計(jì)[J].信息科技,2017,(3):4245.