2013-02-22 4 views
6

MediaPlayer.setVideoScalingMode(int mode)は、API16以上では、VIDEO_SCALING_MODE_SCALE_TO_FITVIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPINGの間で選択することができます。初期バージョンのAndroid用setVideoScalingModeを実現する方法

API 16より前にAndroid用に同じ機能を実現する方法はありますか?

MediaPlayerで使用されるSurfaceViewのサイズを設定しようとしましたが、MediaPlayerは元のビデオをSurfaceViewの任意のサイズに合わせて切り取ります。同じ問題にまで直面し

答えて

0

、この記事 http://blog.lemberg.co.uk/surface-view-video-cropping とでも小さな変更で解決策を得る:あなたは下/左/右または上のストライプを得るように、デフォルトTextureViewことで はすでに、ビデオフィット画面縦横比を作るためにスケールがあります背の高い/ワイド動画の場合記事からのアプローチを使用すると、TextureViewスケール+スケールはupdateTextureViewSizeで計算されます。したがって、非常に大規模なインデックスです。

float div = Math.max(scaleX,scaleY)-Math.min(scaleX, scaleY); 
matrix.setScale(1+div,1+div,pivotPointX,pivotPointY); 

代わりの

matrix.setScale(scaleX, scaleY, pivotPointX, pivotPointY); 
:この問題に対する私のソリューションは、相対スケール値を計算することです
関連する問題