1. 程式人生 > >vlc for android 不能全屏,或者畫面不能鋪滿的問題。

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 
版權宣告:本文為博主原創文章,轉載請附上博文連結!