playback video full screen

48,824

Solution 1

No need to do any coding for playing video to full screen mode

Apply the following layout format over the xml containing the videoview it will for sure will play the video in full screen mode. as it is running mine.

 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent" >
   <VideoView android:id="@+id/myvideoview"
             android:layout_width="fill_parent"
             android:layout_alignParentRight="true"
             android:layout_alignParentLeft="true"
             android:layout_alignParentTop="true"
             android:layout_alignParentBottom="true"
             android:layout_height="fill_parent">
    </VideoView>
 </RelativeLayout>

Plus adding the mediacontroller will also give you the controller to use.

Solution 2

I have solved the problem:

1. To remove the continue/pause buttons remove the media controller. For the looping issue put OnCompletionListener so that when the video reaches the end, it starts again:

videoView.setOnCompletionListener(
        new MediaPlayer.OnCompletionListener() {
        public void onCompletion(MediaPlayer mp) {
            videoView.start();
        }
        });

2. To resize the video, override method onMeasure() in VideoView like this:

public class MyVideoView extends VideoView {

        public MyVideoView(Context context) {
            super(context);
        }

        @Override
        protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
        {
             setMeasuredDimension(480,800);
        }

    }

Solution 3

I know this thread is a few weeks old, but you don't have to copy the video file to the SD card just to play it. Use the following but insert your package name instead of "com.yourcompany.yourproject":

videoView.setVideoURI(Uri.parse("android.resource://com.yourcompay.yourproject/" + R.raw.yourvideoresource));

Solution 4

If you want to play video in full screen, then just add these line of code in your Androidmanifest.xml file, in the activity where this video is going to play. Just add these two lines in android manifest file.

 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
 android:configChanges="orientation|screenSize"

Like in my androidmanifest.xml file i have added it

  <activity
        android:name="com.appliconic.straminglivevideo.MainActivity"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
        android:configChanges="orientation|screenSize"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Solution 5

Modified @Javanator's answer a bit, this won't stretch the video:

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent" >
   <VideoView android:id="@+id/myvideoview"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:layout_centerVertical="true"
              android:layout_centerHorizontal="true">
    </VideoView>
 </RelativeLayout>

Hope this helps someone :)

Share:
48,824
Admin
Author by

Admin

Updated on July 09, 2022

Comments

  • Admin
    Admin almost 2 years

    I am trying to play a video in my app. It has to be embedded.

    I went through the "Play Video Files in Android" thread.

    I am able to play my video using VideoView as mentioned in this discussion. But there are a few problems.

    1. I need full screen video, how do I stretch VideoView to full screen? Will that stretch the video too?

    2. I don't need the default play/forward/stop buttons at all. Basically I need continuous loop playing of the video.

    I tried the MediaPlayer class as in here, but it never worked. What should the string format look like if I have my video file in res/raw directory? I really don't want the video file played from sdcard. How can it be bundled along with the app?

    If any of these two approaches work, I will be better off.

    This is my code:

    videoHolder = new VideoView(this); 
    // videoHolder = (VideoView)findViewById(R.id.videoview); 
    LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
    videoHolder.setLayoutParams(params); 
    videoHolder.setMediaController(new MediaController(this)); 
    setContentView(videoHolder); 
    // 
    // 
    //// I tested and found that it works fine for .wmv, .3gp and .mp4 
    //// videoHolder.setVideoURI(Uri.parse("file:///sdcard/video.3gp")); 
    videoHolder.setVideoURI(Uri.parse("res/raw/demo.3gp")); 
    videoHolder.requestFocus(); 
    videoHolder.start(); 
    

    Strangely the commented url works (the one with sdcard). The other one does not work. I have tried many combinations from "file:// res/raw/demo.3gp" to only "demo".

    What would be the correct string to access the file?