1. 程式人生 > >圖和視訊混播

圖和視訊混播

最近在做一個功能,就是廣告頁面的圖片視訊混合播放,一切的資料來源都是取自伺服器,並沒有規定第幾個放視訊,第幾個放圖片,先說一下實現的大體思路,首先,播放圖片我們常用的是ImageView,網路圖片則會選擇ImageLoader框架,而播放視訊由於筆者水平有限,所以只是選擇了Android原生的VideoView。由於事先已經知道,廣告頁面只會播放圖片和視訊兩種廣告,所以就只用了ImageView和VideoView這兩個控制元件。我們都知道View裡面有一個setVisibility()方法,通過這個方法設定View的顯示情況,想要讓圖片正常顯示,直接設定呼叫setVisibility方法設定VISIBLE屬性就行了;如果想要讓View不顯示,那麼則呼叫setVisibility方法設定不顯示的屬性就行了,不顯示的屬性用兩種情況,一種是不顯示View並且也不讓View佔位置的屬性GONE,另外一種則是不顯示View但是View會佔據它原來的位置,那麼則呼叫INVISIBLE屬性。而筆者在這個圖片視訊混播裡則選擇的是,VISIBLE和GONE兩個屬性。其次,學習了一下VideoView的監聽事件,有播放完成的監聽:setOnCompletionListener,有播放錯的監聽:setOnErrorListener.筆者只用到了這兩個監聽。最後,就是在XML檔案中佈局。先用一個FrameLayout對要播放廣告的地方進行佔位,然後把VideoView和ImageView兩個控制元件並列的放到FrameLayout當中。緊接著就去Java程式碼中,去取得要播放廣告的內容,通過判斷是否為MP4對VideoView和ImageView的顯示情況加以控制。就完成了一個視訊影象混播的一個功能。

demo下載:

https://download.csdn.net/download/weixin_39302050/10741933