Intereting Posts
एंड्रॉइड में, मैं केवल एक विशिष्ट पथ में फ़ाइलों के लिए कैसे MediaStore क्वेरी कर सकता हूँ? या वैकल्पिक रूप से, केवल एक निश्चित पथ में फ़ाइलें प्रदर्शित करें? टाइटेनियम का उपयोग करते हुए एक मूल दृश्य के बाल दृश्यों की क्वेरी कैसे करें? कैसे हर 2 सेकंड के बीच दो मानों के बीच ग्रंथों को लगातार स्विच करने के लिए (एंड्रॉइड) ऐप "लॉन्च" पर कुछ कैसे करें? एंड्रॉइड। देखें पारदर्शिता गैरकानूनीअर्जमेंट अपवाद: सूचकांक 1 पर बाँध मूल्य शून्य है एप्लिकेशन <my service> (pid 1724) को मारना क्योंकि प्रदाता मेरे प्रदाता मरने की प्रक्रिया में है <my app> Values.xml के साथ एंड्रॉइड गतिविधि स्क्रीन अभिविन्यास सेट करना एंड्रॉइड हार्डवेयर से वाईफ़ाई कनेक्शन के माध्यम से डेटा प्राप्त करते हैं और भेजते हैं मैं एंड्रॉइड में इस सेवा को कैसे बाँधूं? जब मैं मीडियाप्लेयर को डिसप्ले सेट करने का प्रयास करता हूं तो सतह को रिलीज़ किया गया है एंड्रॉइड में SQLite का उपयोग कर तालिकाओं में शामिल होने का सर्वोत्तम तरीका एक्लिपस एंड्रॉइड में "जावा हेप आकार" में त्रुटि? एंड्रॉइड एमए में बैटरी की मौजूदा क्षमता और एमएएच की बैटरी की कुल क्षमता प्रगतिदर्शिता दिखाने के साथ ओरिएंटेशन परिवर्तन से कैसे निपटें?

एंड्रॉइड विडियोविप्स क्रॉप_ केंद्र

मेरे पास एक RelativeLayout

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:foregroundGravity="center" android:gravity="center" android:orientation="horizontal" > <VideoView android:id="@+id/videoViewPanel" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:layout_centerInParent="true"/> </RelativeLayout> 

और मुझे क्या चाहिए कि वीडियो फुल स्क्रीन को उजागर करना है यदि मैं छवि दृश्य से तुलना कर सकता हूं, तो मुझे इसे फसल_ केंद्र के रूप में दिखाने की आवश्यकता है।

मैं वीडियो को वीडियो फिट करने के लिए वीडियो फिट करने के लिए वीडियो फिट कैसे बना सकता हूं, लेकिन फसल केंद्र?

Solutions Collecting From Web of "एंड्रॉइड विडियोविप्स क्रॉप_ केंद्र"

वीडियो VideoView ( SurfaceView ) के बजाय TextureView का उपयोग करने का समाधान है
TextureView स्क्रीन पर फिट करने के लिए सामग्री के साथ किसी भी जोड़तोड़ नहीं करता।
समाधान के लिए कोड नमूना है:

 //store the SurfaceTexture to set surface for MediaPlayer mTextureView.setSurfaceTextureListener(new SurfaceTextureListener() { @Override public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { FullScreenActivity.this.mSurface = surface; } 

….

 Surface s = new Surface(mSurface); mPlayer = mp; mp.setSurface(s); scaleVideo(mp);//<-- this function scales video to run cropped 

….

 private void scaleVideo(MediaPlayer mPlayer) { LayoutParams videoParams = (LayoutParams) mTextureView .getLayoutParams(); DisplayMetrics dm = new DisplayMetrics(); FullScreenActivity.this.getWindowManager().getDefaultDisplay() .getMetrics(dm); final int height = dm.heightPixels; final int width = dm.widthPixels; int videoHeight = mPlayer.getVideoHeight(); int videoWidth = mPlayer.getVideoWidth(); double hRatio = 1; hRatio = (height * 1.0 / videoHeight) / (width * 1.0 / videoWidth); videoParams.x = (int) (hRatio <= 1 ? 0 : Math.round((-(hRatio - 1) / 2) * width)); videoParams.y = (int) (hRatio >= 1 ? 0 : Math .round((((-1 / hRatio) + 1) / 2) * height)); videoParams.width = width - videoParams.x - videoParams.x; videoParams.height = height - videoParams.y - videoParams.y; Log.e(TAG, "x:" + videoParams.x + " y:" + videoParams.y); mTextureView.setScaleX(1.00001f);//<-- this line enables smoothing of the picture in TextureView. mTextureView.requestLayout(); mTextureView.invalidate(); } 

फ़ुलस्क्रीन में फसल केंद्र के लिए आप अभी भी एक VideoView का उपयोग कर सकते हैं। रिवेटिव लेआउट के अंदर माता-पिता से मिलान करने के लिए वीडियोव्यू की चौड़ाई और ऊंचाई सेट करें और स्क्रीन से बड़ा होने के लिए इसे समायोजित करें और उसकी स्थिति सेट करें

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/rootLayout" tools:context="com.example.Activity"> <RelativeLayout android:layout_width="match_parent" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_height="match_parent"> <VideoView android:id="@+id/video_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" android:layout_centerVertical="true" /> </RelativeLayout> </RelativeLayout> 

और फिर ऑन क्रिएट:

  RelativeLayout rootView=(RelativeLayout) findViewById(R.id.rootLayout); Display display=getWindowManager().getDefaultDisplay(); Point size=new Point(); display.getSize(size); FrameLayout.LayoutParams rootViewParams = (FrameLayout.LayoutParams) rootView.getLayoutParams(); int videoWidth=864; int videoHeight=1280; if ((float)videoWidth/(float)videoHeight<(float)size.x/(float)size.y) { rootViewParams.width=size.x; rootViewParams.height=videoHeight*size.x/videoWidth; rootView.setX(0); rootView.setY((rootViewParams.height-size.y)/2*-1); } else { rootViewParams.width=videoWidth*size.y/videoHeight; rootViewParams.height=size.y; rootView.setX((rootViewParams.width-size.x)/2*-1); rootView.setY(0); } rootView.setLayoutParams(rootViewParams); final VideoView mVideoView=(VideoView)findViewById(R.id.video_view); mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.splash)); mVideoView.requestFocus(); mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { mVideoView.start(); } });