Android 獲取視訊縮圖以及獲取視訊解析度
阿新 • • 發佈:2018-12-31
今天遇到一個問題,視訊播放不能居中。
在設定VideoView的Layout時候,把整個螢幕分配給VideoView。
不過Video在播放的時候,對於成寬比和螢幕不一樣的視訊,卻沒有把視訊播放到中央。
採用相同的策略,ImageView就可以把影象放到螢幕最中央,感覺是ViewView的問題。
但是VideoView是FrameWork層的功用元件,所以就想到一個辦法來規避。
每次獲取視訊解析度和螢幕長寬,比較螢幕視訊長寬比和螢幕長寬比,以此來判斷視訊應該以長度為基準還是以寬度為基準來壓縮。
進而判斷出空白區域的面積,以此來設定View layout的位置。因此就需要獲取視訊的解析度。
MediaMetadataRetriever retr = new MediaMetadataRetriever(); retr.setDataSource(mContext , video.getUriWithDrmCheck()); retr.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ONLY); Bitmap bm = retr.captureFrame(); int wVideo = bm.getWidth(); int hVideo = bm.getHeight();
覺得這個程式碼還比較有用,在此做個記錄。