手機與電視,是陪伴在我們生活最常見,陪伴最長久的智能設備。迅猛發展的移動終端與通信技術,賦予了手機更廣闊多元的應用生態,大屏電視則以大視野和震撼影音,彌補了手里方寸帶來的視覺局限。而今,手機的延伸需求越來越突出,無線投屏也正逐漸成為觀看移動終端內容的主流方式之一,並在影音娛樂、遠程教育、在線辦公等方面扮演不可或缺的角色。
通過接入華為終端分布式技術Cast+ Kit,可以實現以華為手機為中心,以Cast+鏡像投屏、Cast+流媒體投屏為載體,完成從手機小屏到高清大屏的柔滑轉換,為用戶帶來大屏觀影、大屏閱讀和游戲自帶8倍鏡的全新感受。
話不多說,我們直接進入一星期教你快速集成華為Cast+ Kit的實戰演練環節。跟着下方攻略即可輕松完成開發。
首先,接口調用過程一圖了解——

簡單來說開發接入大致可以分為六個流程,首先需要進行變量聲明並獲取PlayerClient實例;然后在應用啟動時,獲取PlayerClient實例,啟動服務,注冊監聽;三要進行投屏業務相關內容設置,包括投屏屬性設置、鑒權模式信息設置和可被周邊設備發現的相關設置;四則是設置投屏顯示Surface,這里需要注意的是應用層面,要求保證投屏過程中不能錄屏、截屏、錄音,要求SurfaceView要設置FLAG_SECURE;最后的兩步則是與投屏相關的內容,也就是啟動投屏、暫停投屏和斷開連接的的執行。
集成開發全攻略——
- 首先創建一個應用工程,在AndroidManifest中添加所需要的權限

- 在lib目錄下添加SDK的aar文件,並在應用級的build.gradle里面加上SDK的依賴。

- 初始化相關服務和實例

注冊回調函數:
在IeventListener的onEvent中,sink端(設備)會上報各種消息,包括初始化服務、收到對端設備發來的連接請求、鑒權成功等;onDisplayEvent是手機端的回調,displayinfo是手機側的信息

- 在初始化成功后,構建大屏投屏能力。設置其顯示分辨率、顯示幀數、開啟被發現、配置低時延策略等等。


- 移動端PIN碼輸入正確或密碼輸入正確或非首次非密碼模式投屏,會上報EVENT_ID_CONNECT_REQ消息,該消息下會攜帶請求連接移動端設備的ProjectionDevice信息。

- 首次PIN碼模式會上報EVENT_ID_PIN_CODE_SHOW消息,PIN碼可從dislayinfo.getPinCode()獲得。

- EVENT_ID_CONNECT_REQ消息后,順序上報EVENT_ID_DEVICE_CONNECTED和EVENT_ID_PAUSED消息。PAUSED消息下大屏端可以設置Surface並開始播放投屏視頻流,前提是必須保證Surface有效並且收到PAUSED后才開始投屏操作,以免因設備原因出現黑屏問題。


集成完成啦,我們來感受下黑科技華為Cast+增強投屏技術帶來的新體驗吧。
首先華為Cast+Kit采用系統級連接入口,操作簡單,在下拉菜單中選擇“無線投屏”,點擊相應設備后就可以完成投屏。

那么投屏效果如何呢?在市面上整體無線投屏時延基本在200ms左右的環境下,華為Cast+Kit擁有多項自研技術,可實現50ms的投屏超低時,保障了大型手機游戲的手眼合一。

*數據來自華為實驗室,不同網絡環境下投屏時延存在差異
關於華為 Cast+Kit更多開發詳情,包括業務介紹、開發指南、接入准備、SDK如何獲取等,戳以下空降鏈接:
https://developer.華為.com/consumer/cn/cast-kit
往期鏈接:別讓算法和數據結構拖你職業生涯的后腿
原作者:普拉斯
