olly 782817d524 Remove durationUs from MediaFormat.
Duration was originally included in MediaFormat to match the
framework class, but it actually doesn't make much sense. In
many containers there's no such thing as per-stream duration,
and in any case we don't really care. Setting the duration on
each format required excessive piping.

This change moves duration into SeekMap instead, which seems
to make a lot more sense because it's at the container level,
and because being able to seek is generally couplied with
knowing how long the stream is.

This change is also a step toward merging Format and MediaFormat
into a single class (because Format doesn't have a duration),
which is coming soon.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=114428500
2016-06-15 18:54:50 +01:00
2015-03-06 16:39:00 +00:00
2015-10-12 17:58:01 +01:00
2015-02-18 23:42:42 +00:00
2014-06-16 12:56:04 +01:00
2014-06-16 12:56:04 +01:00
2015-10-27 21:03:16 +00:00
2014-06-16 12:56:04 +01:00
2016-01-22 16:07:09 +00:00

ExoPlayer

ExoPlayer is an application level media player for Android. It provides an alternative to Androids MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Androids MediaPlayer API, including DASH and SmoothStreaming adaptive playbacks. Unlike the MediaPlayer API, ExoPlayer is easy to customize and extend, and can be updated through Play Store application updates.

News

Read news, hints and tips on the news page.

Documentation

Using ExoPlayer

Via jCenter

The easiest way to get started using ExoPlayer is by including the following in your project's build.gradle file:

gradle
compile 'com.google.android.exoplayer:exoplayer:rX.X.X'

where rX.X.X is the your preferred version. For the latest version, see the project's Releases. For more details, see the project on Bintray.

As source

ExoPlayer can also be built from source using Gradle. You can include it as a dependent project like so:

gradle
// settings.gradle
include ':app', ':..:ExoPlayer:library'

// app/build.gradle
dependencies {
    compile project(':..:ExoPlayer:library')
}

As a jar

If you want to use ExoPlayer as a jar, run:

sh
./gradlew jarRelease

and copy library.jar to the libs folder of your new project.

Developing ExoPlayer

Project branches

  • The master branch holds the most recent minor release.
  • Most development work happens on the dev branch.
  • Additional development branches may be established for major features.

Using Android Studio

To develop ExoPlayer using Android Studio, simply open the ExoPlayer project in the root directory of the repository.

Using Eclipse

To develop ExoPlayer using Eclipse:

  1. Install Eclipse and setup the Android SDK.
  2. Open Eclipse and navigate to File->Import->General->Existing Projects into Workspace.
  3. Select the root directory of the repository.
  4. Import the projects.
Description
About Jetpack Media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android
Readme Apache-2.0 751 MiB
Languages
Java 98.3%
Kotlin 0.6%
C++ 0.4%
GLSL 0.3%
PostScript 0.2%
Other 0.1%