Video Streaming and Android

If you want to just have the OS play a video using the default player you would use an intent like this:

String videoUrl = "insert url to video here";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(videoUrl));
startActivity(i);

However if you want to create a view yourself and stream video to it, one approach is to create a videoview in your layout and use the mediaplayer to stream video to it. Here’s the videoview in xml:

<VideoView android:id="@+id/your_video_view"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
/>

Then in onCreate in your activity you find the view and start the media player.

    VideoView videoView = (VideoView)findViewById(R.id.your_video_view);
    MediaController mc = new MediaController(this);
    videoView.setMediaController(mc);

    String str = "the url to your video";
    Uri uri = Uri.parse(str);

    videoView.setVideoURI(uri);

    videoView.requestFocus();
    videoView.start();

Check out the videoview listeners for being notified when the video is done playing or an error occurs (VideoView.setOnCompletionListener, VideoView.setOnErrorListener, etc).

Leave a Comment