-  - The Android Arsenal – Video -  - The Android Arsenal – Video

component for , iOS and React. This is a suite of utility libraries around using inside your Android, iOS or React Native .

Playing Youtube on Android (specially inline) comes with some challenges :

  • YouTube SDK does not work on all devices ( where YouTube services could have been uninstalled)
  • You cannot run more than one instance of the YouTube view
  • Playing them inline where in a list you can have more than one videos in a single list.

inline-youtube-view for Android checks if the services are available and will fall back gracefully to using WebView in the they are not.

YouTubePlayerView : The YouTubePlayerView provided by the YouTube SDK comes with a restriction that the activty hosting this needs to extend from YouTubeBaseActivity. This view removes these restrictions.

Demo Gifs

YouTubePlayer in Activity (Fullscreen Mode)

-  - The Android Arsenal – Video

YouTubePlayer in Fragment (inline native)

-  - The Android Arsenal – Video

How to use ?

Add it in your root build.gradle at the end of repositories :

allprojects {
   repositories {
     maven { url "" }

Add the dependency

dependencies {
   compile 'com.github.flipkart-incubator:inline-youtube-view:1.0.1'

YouTubePlayer Activity

Start an YouTubeActivity intent with apiKey and videoId. This will play the youtube in a new activity in fullscreen mode.

Intent intent = new Intent(MainActivity.this, YouTubeActivity.class);
intent.putExtra("apiKey", Constants.API_);
intent.putExtra("videoId", "3AtDnEC4zak");

Also, make sure that you add the activity in the AndroidManifest.xml file.

<activity android:name="com.flipkart.youtubeview.activity.YouTubeActivity" />

YouTubePlayer Inline

Create an instance of YouTubePlayerView inside a fragment. To initialize the player, you need to call the initPlayer method with following params:

  1. apiKey
  2. videoId
  3. webviewUrl : the link to iframe.html file (this is required when the device is not able to render native video, a fallback). By default, use ‘
  4. playerType : native, webview or auto (try native, else fallback to webview)
  5. listener : callback listener
  6. fragment : fragment hosting this view
  7. imageLoader : to load thumbnail image
YouTubePlayerView playerView = new YouTubePlayerView(context);
playerView.initPlayer(Constants.API_KEY, videoId, "", playerType, listener, fragment, imageLoader);

YouTube iOS Player

We have open-sourced the inline-youtube-player for iOS also.


The easiest way to contribute is by forking the repo, making your changes and creating a pull request.

Source link


Please enter your comment!
Please enter your name here