vlc for android 不能全屏,或者畫面不能鋪滿的問題。
做視訊開發的時候,肯定會遇到,小視窗播放,然後支援全屏播放。
我遇到的問題,有兩個。
一:小視窗視訊有黑邊。就是還是沒充滿。
二:全屏畫面也是鋪不滿,而且跟小視窗的畫面大小是一樣的。
要解決這些問題,先介紹一下要用到的vlc的三個介面
videoView1.getMediaPlayer().getVLCVout().setWindowSize(wsur, hour);//寬,高 播放視窗的大小
videoView1.getMediaPlayer().setAspectRatio(wsur+":"+hsur);//寬,高 畫面大小
videoView1.getMediaPlayer().setScale(0); 畫面以什麼形式展示在控制元件上
這三個介面可以在橫豎屏監聽裡面寫如下圖的橫豎屏監聽。
當豎屏的時候,就傳入SurfaceView的大小,當全屏的時候,就傳入螢幕的寬高。他會自適應的充滿你的控制元件。另外需要注意的是
MediaPlayer().setScale(0);
setScale一定要設定為0,不然你改變控制元件的大小是沒有用的,血的教訓。為什麼? 來看一下setScale方法的註釋。
/**
* Set the video scaling factor
*
* That is the ratio of the number of pixels on screen to the number of pixels in the original
* decoded video in each dimension. Zero is a special value; it will adjust the video to the
* output window/drawable (in windowed mode) or the entire screen.
*
* @param scale the scaling factor, or zero
*/
public void setScale(float scale) {
nativeSetScale(scale);
}
是0的時候才會可以拉伸。
行了,上次寫的過於雞肋,現在完善了。很開心。
---------------------
作者:醜人_lh
來源:CSDN
原文:https://blog.csdn.net/qq_36477525/article/details/78621387
版權宣告:本文為博主原創文章,轉載請附上博文連結!