2013-02-22 14 views
6

MediaPlayer.setVideoScalingMode (int modu), API 16 ve ve VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING arasında seçim yapmaya izin vermek için iyidir.Android'in ilk sürümleri için setVideoScalingMode nasıl elde edilir

Android için API 16'dan önce aynı işlevselliği elde etmenin bir yolu var mı?

MediaPlayer tarafından kullanılan SurfaceView boyutlarını ayarlamaya çalıştım ancak MediaPlayer, orijinal videoyu SurfaceView boyutlarına uyacak şekilde kırpıyor.

cevap

0

bu makale ile çözüm olsun, aynı sorun ile karşı karşıya kalan http://blog.lemberg.co.uk/surface-view-video-cropping Ancak küçük değişiklikle: varsayılan TextureView By zaten/sağ veya sol üst olsun böylece/video uyum ekran en boy oranını yapmak ölçek alt şeritler vardır uzun/geniş videolar için. Ve makaleden yaklaşım kullandığınızda, updateTextureViewSize tarafından hesaplanan TextureView ölçeği + ölçeğini alıyorsunuz, bu yüzden çok büyük ölçekli dizin.

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

yerine

matrix.setScale(scaleX, scaleY, pivotPointX, pivotPointY); 
: Bu sorunun Çözümümün göreceli ölçekli değerini hesaplamaktır
İlgili konular