Android 視頻縮放/放大

jopen 9年前發布 | 38K 次閱讀 Android Android開發 移動開發

1. 原理

不直接改變Codec輸出的視頻寬高比,而是改變視頻播放器窗口的大小。

2. 設置Window

需要將Window設置未可以超出屏幕尺寸

mWindow.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);  
3. SurfaceView保持寬高比

mSurfaceHolder.setFixedSize(mVideoWidth, mVideoHeight); 


4. 改變Surface窗口大小

ViewGroup.LayoutParams layoutParams = (ViewGroup.LayoutParams) mSurface.getLayoutParams();
if (scale > 4.0f) {
scale = 4.0f;
} else if (scale < 0.25f) {
scale = 0.25f;
}
layoutParams.width = (int) (windowWidth scale);
layoutParams.height = (int) (windowHeight
scale);

mSurface.setLayoutParams(layoutParams); </pre>來自:http://blog.csdn.net/matrix_laboratory/article/details/44245487

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!