VLC是由VideoLAN項目開發(fā)的一種免費的,開源的跨平臺多媒體播放器,其根源在于使用戶能夠在任何地方播放任何類型的視頻文件,無論他們的設備或屏幕大小如何。為了向盡可能多的用戶提供最佳的觀看體驗,VideoLAN團隊一直在努力使VLC應用適應各種平臺,包括Android TV以及平板電腦和Chromebook等大屏幕設備。
他們做了什么
與移動設備上的應用程序相比,Android TV設備上的應用程序提供了獨特的觀看體驗。電視觀眾坐在離屏幕更遠的地方,他們通常還希望以單一視圖查看整個內(nèi)容庫,就像傳統(tǒng)的電視指南一樣,而移動用戶則希望只看到他們選擇觀看的一個視頻。另外,用戶可以通過遙控器在Android TV上瀏覽應用程序,而移動應用程序完全是觸摸屏。
VideoLAN決定將VLC的大多數(shù)移動UI保留在最新版本的應用程序(3.2)中,但團隊需要進一步采取一些措施,以確保在移動電視和Android TV上獲得最佳體驗。
優(yōu)化電視遙控器
VideoLAN的第一步是確??墒褂肁ndroid TV設備的遙控器輕松導航該應用程序的視頻播放器UI,該設備只有一個方向鍵和幾個按鈕。例如,該團隊將視頻播放器選項移至側(cè)面板,因此完整列表很容易在智能手機或平板電腦上單擊,并易于通過遙控器瀏覽。
VLC優(yōu)化了Android TV上的大屏幕后傾觀看體驗
調(diào)整Leanback庫的布局
在Android TV設備上,VLC用戶可以一次查看其所有視頻類別,而無需像在移動設備上那樣匯總類別。為了優(yōu)化此瀏覽功能,Leanback庫使用可擴展的片段來使開發(fā)人員可以輕松地為每段內(nèi)容創(chuàng)建豐富的動畫體驗。
VideoLAN創(chuàng)建了一個自定義瀏覽UI,以使用“浮動動作按鈕”進行排序和滾動,并為每個滾動選項添加了動畫。該團隊還創(chuàng)建了一個類似于其Android Auto應用程序的快速滾動功能,該功能使用戶可以使用首字母搜索快速瀏覽其視頻內(nèi)容,而無需滾動整個列表。
為Android TV實施全新的UI導致了相當數(shù)量的代碼重構(gòu),這正是Android體系結(jié)構(gòu)組件提出的Model-View-ViewModel(MVVM)體系結(jié)構(gòu)派上用場的地方。通過遵循這些體系結(jié)構(gòu)準則,團隊可以在UI代碼和應用程序邏輯之間建立清晰的分隔,從而簡化了編寫新UI后應用程序邏輯代碼的共享?,F(xiàn)在,相同的代碼為VLC的移動和電視用戶界面提供了動力。
該團隊還與Livedata轉(zhuǎn)換合作,創(chuàng)建了一個地圖,其中包含根據(jù)視頻信息(例如標題,添加日期或視頻時長)分組的元素,這些元素從他們在移動設備上使用的唯一列表開始。由于Android TV以橫向模式顯示視頻,因此該團隊將內(nèi)容分成幾行,而不是在垂直的可滾動列表中進行顯示。
集成語音控制和“下一曲”功能
最后,VideoLAN實施了MediaSession,以通過Google助手啟用語音命令播放控制。該小組還為電視應用程序的代碼添加了“下一個播放”功能,該功能使用戶可以直接從Android TV主屏幕恢復先前播放的視頻的播放。
結(jié)果
作為一個免費且易于導航的媒體播放器,VLC在更大的屏幕上表現(xiàn)最佳。VideoLAN團隊繼續(xù)收到來自世界各地用戶的積極反饋,法國和瑞士的互聯(lián)網(wǎng)服務提供商甚至要求將VLC作為默認應用添加到其機頂盒中。
VideoLAN總裁Jean-Baptiste Kempf說:“電視對于VLC這樣的媒體播放器來說是自然的家,因此我們知道有很多人在等著在Android TV上使用該應用程序?!薄皩嶋H上,這是最簡單的優(yōu)化平臺,因為我們能夠重用Android中95%的代碼,結(jié)果令人興奮?!?/span>
借助專為從小屏幕智能手機到大屏幕電視的設備而設計的應用程序,VideoLAN可以吸引更多的移動用戶,無論他們喜歡看自己喜歡的視頻。
入門
查看一些最佳做法,以針對Android TV優(yōu)化應用。