48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
---
|
|
title: Progressive
|
|
---
|
|
|
|
{% include_relative _page_fragments/supported-formats-progressive.md %}
|
|
|
|
## Using MediaItem ##
|
|
|
|
To play a progressive stream, create a `MediaItem` with the media URI and pass
|
|
it to the player.
|
|
|
|
~~~
|
|
// Create a player instance.
|
|
ExoPlayer player = new ExoPlayer.Builder(context).build();
|
|
// Set the media item to be played.
|
|
player.setMediaItem(MediaItem.fromUri(progressiveUri));
|
|
// Prepare the player.
|
|
player.prepare();
|
|
~~~
|
|
{: .language-java}
|
|
|
|
## Using ProgressiveMediaSource ##
|
|
|
|
For more customization options, you can create a `ProgressiveMediaSource` and
|
|
directly to the player instead of a `MediaItem`.
|
|
|
|
~~~
|
|
// Create a data source factory.
|
|
DataSource.Factory dataSourceFactory = new DefaultHttpDataSource.Factory();
|
|
// Create a progressive media source pointing to a stream uri.
|
|
MediaSource mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
|
|
.createMediaSource(MediaItem.fromUri(progressiveUri));
|
|
// Create a player instance.
|
|
ExoPlayer player = new ExoPlayer.Builder(context).build();
|
|
// Set the media source to be played.
|
|
player.setMediaSource(mediaSource);
|
|
// Prepare the player.
|
|
player.prepare();
|
|
~~~
|
|
{: .language-java}
|
|
|
|
## Customizing playback ##
|
|
|
|
ExoPlayer provides multiple ways for you to tailor playback experience to your
|
|
app's needs. See the [Customization page][] for examples.
|
|
|
|
[Customization page]: {{ site.baseurl }}/customization.html
|