標籤:http java 使用 os io 代碼 html 工作
目前使用phonegap開發的手機應用,很少涉及視頻播放的功能,究其原因,主要是phonegap提供的API裡面對視頻播放功能支援度不夠,當然播放音頻一般情況下還是能夠實現的,由於工作需要,自己研究了一下如何使用phonegap來開發視頻播放軟體,主要有以下幾種思路:
解決方案1:使用HTML5中的Video標籤來進行播放,這種方案實際上在phonegap中的表現和直接用安卓原生瀏覽器來測試時一樣的,這個時候你會發現將一個放在伺服器上的包含Video標籤的頁面使用安卓原生瀏覽器開啟之後,對於HLS地址的視頻載入速度非常慢,這顯然是不行的,究其原因,還是HLS協議是蘋果提出的,安卓對其支援度不夠,所以採用Video標籤在phonegap中的安卓平台上播放HLS顯然是不靠譜的;
解決方案2:phonegap提供了一種外掛程式機制,這種外掛程式機制可以使開發人員用Java代碼調用安卓原生功能以及手機中其他的app,這就為我們提供了一種思路,實際上只要熟悉phonegap外掛程式開發,你會發現原生安卓開發出來的功能利用phonegap也能實現,因為phonegap不能實現的功能,我們依然可以使用Java代碼實現,這樣開發出來的應用其實是一種混合的app.在這種思路的指引下,我們可以開發一個視頻播放的外掛程式,調用手機中已經安裝好的播放器來播放視頻,這裡有一個別人寫好的Videoplayer外掛程式,不需要我們自己寫了,地址如下:https://github.com/raulduran/VideoPlayer,經過測試之後,發現QQ瀏覽器內建的視頻播放軟體播放HLS效果最為理想,所以需要下載一個QQ瀏覽器並安裝到手機上;
解決方案3:自己開發播放器,這個方案由於周期太長,並且需要很多對於原生安卓開發和視頻播放知識的儲備,在目前情況下還沒有考慮,但是隨著後面工作的進展肯定要做這一步,目前的思路是使用Vitamio來做,官網地址是:https://www.vitamio.org/。
總結:以上主要是講了如何在安卓平台上使用phonegap開發HLS播放軟體的解決方案,在IOS平台下,使用HTML5的Video標籤即可,因為蘋果的SDK中webview類是支援Video來播放HLS的(自己提出的協議當然要在自己的產品上給予良好的支援)。