2013-02-22 21 views
6

MediaPlayer.setVideoScalingMode (int मोड) के प्रारंभिक संस्करणों के लिए setVideoScalingMode को कैसे प्राप्त करें एपीआई 16 के लिए अच्छा है और ऊपर VIDEO_SCALING_MODE_SCALE_TO_FIT और VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING के बीच चयन करने की अनुमति है।एंड्रॉइड

क्या एपीआई 16 से पहले एंड्रॉइड के लिए समान कार्यक्षमता प्राप्त करने का कोई तरीका है?

मैं SurfaceView एक MediaPlayer द्वारा प्रयोग किया जाता के आयाम स्थापित करने के लिए कोशिश की है, लेकिन MediaPlayer फिट SurfaceView की जो कुछ आयामों को मूल वीडियो फसलों।

उत्तर

0

एक ही समस्या के साथ सामना करते हुए इस लेख के साथ समाधान प्राप्त http://blog.lemberg.co.uk/surface-view-video-cropping लेकिन छोटा सा परिवर्तन के साथ: डिफ़ॉल्ट TextureView द्वारा पहले से ही नीचे धारियों, वीडियो फिट स्क्रीन पहलू अनुपात बनाने के लिए बड़े पैमाने ताकि आप/सही है या छोड़ दिया शीर्ष मिल/है लंबा/चौड़ा वीडियो के लिए। और जब आप आलेख से दृष्टिकोण का उपयोग करते हैं तो आप TextureView स्केल + स्केल को अपडेट करके गणना कर रहे हैंटेक्चर ViewSize, इतनी बड़ी स्केल इंडेक्स।

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

matrix.setScale(scaleX, scaleY, pivotPointX, pivotPointY); 
: इस समस्या के लिए मेरे समाधान रिश्तेदार पैमाने मूल्य की गणना करने के लिए है