A simplified Android Player
wrapper for MediaPlayer and ExoPlayer.
Some of the benefits are:
MediaPlayer
bufferingExoPlayer
local, streaming and provisioning WideVine Modular DRMContentType
and DRMExperimental Features, use with caution:
To start using this library, add these lines to the build.gradle
of your project:
repositories {
jcenter()
}
dependencies {
implementation 'com.novoda:no-player:<latest-version>'
}
From no-player 4.5.0 this is also needed in the android section of your build.gradle
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
}
Create a Player
:
Player player = new PlayerBuilder()
.withPriority(PlayerType.EXO_PLAYER)
.withWidevineModularStreamingDrm(drmHandler)
.build(this);
Create the PlayerView
:
<com.novoda.noplayer.NoPlayerView
android:id="@+id/player_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
Attach to a PlayerView
:
PlayerView playerView = findViewById(R.id.player_view);
player.attach(playerView);
Play some content:
player.getListeners().addPreparedListener(playerState -> player.play());
Uri uri = Uri.parse(mpdUrl);
player.loadVideo(uri, ContentType.DASH);
Snapshot builds from develop
are automatically deployed to a repository that is not synced with JCenter.
To consume a snapshot build add an additional maven repo as follows:
repositories {
maven {
url 'https://dl.bintray.com/novoda-oss/snapshots/'
}
}
You can find the latest snapshot version following this link.
We always welcome people to contribute new features or bug fixes, here is how.
If you have a problem, check the Issues Page first to see if we are already working on it.
Looking for community help? Browse the already asked Stack Overflow Questions or use the tag support-no-player
when posting a new question.