All Projects → androidx → media

androidx / media

Licence: Apache-2.0 license
Jetpack Media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android

Programming Languages

java
68154 projects - #9 most used programming language
C++
36643 projects - #6 most used programming language
AIDL
53 projects
shell
77523 projects
Makefile
30231 projects
GLSL
2045 projects

Projects that are alternatives of or similar to media

ti.exoplayer
A native control for playing videos for Titanium. Based on Google ExoPlayer, using Titanium.Media.VideoPlayer API.
Stars: ✭ 17 (-94.22%)
Mutual labels:  exoplayer, mediaplayer
YetAnotherVideoPlayer
Yet Another Video Player for Andoid
Stars: ✭ 62 (-78.91%)
Mutual labels:  exoplayer, mediaplayer
MQPlayer
Android video player based on FFmpeg and Exoplayer
Stars: ✭ 20 (-93.2%)
Mutual labels:  exoplayer, mediaplayer
KingPlayer
🎬 一个专注于 Android 视频播放器的基础库,无缝切换内核。(IjkPlayer、ExoPlayer、VlcPlayer、MediaPlayer)
Stars: ✭ 35 (-88.1%)
Mutual labels:  exoplayer, mediaplayer
Kohii
Android Video Playback made easy.
Stars: ✭ 204 (-30.61%)
Mutual labels:  exoplayer, mediaplayer
Exomedia
An Android ExoPlayer wrapper to simplify Audio and Video implementations
Stars: ✭ 1,939 (+559.52%)
Mutual labels:  exoplayer, mediaplayer
Playerbase
The basic library of Android player will process complex business components. The access is simple。Android播放器基础库,专注于播放视图组件的高复用性和组件间的低耦合,轻松处理复杂业务。
Stars: ✭ 2,814 (+857.14%)
Mutual labels:  exoplayer, mediaplayer
Magicalexoplayer
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
Stars: ✭ 171 (-41.84%)
Mutual labels:  exoplayer, mediaplayer
Xamarinmediamanager
Cross platform Xamarin plugin to play and control Audio and Video
Stars: ✭ 647 (+120.07%)
Mutual labels:  exoplayer, mediaplayer
Exoplayer
An extensible media player for Android
Stars: ✭ 18,648 (+6242.86%)
Mutual labels:  exoplayer, mediaplayer
Dkvideoplayer
Android Video Player. 安卓视频播放器,封装MediaPlayer、ExoPlayer、IjkPlayer。模仿抖音并实现预加载,列表播放,悬浮播放,广告播放,弹幕
Stars: ✭ 3,796 (+1191.16%)
Mutual labels:  exoplayer, mediaplayer
CommenPlayer
CommenPlayer ——Video player, Support ijkPlayer, Vlc, MediaPlayer, ExoPlayer; 视频播放器,支持ijkPlayer,Vlc,MediaPlayer,ExoPlayer
Stars: ✭ 81 (-72.45%)
Mutual labels:  exoplayer, mediaplayer
Exoplayerxamarin
Xamarin bindings library for the Google ExoPlayer library
Stars: ✭ 124 (-57.82%)
Mutual labels:  exoplayer, mediaplayer
No Player
Simplified Player wrapper for MediaPlayer and ExoPlayer
Stars: ✭ 182 (-38.1%)
Mutual labels:  exoplayer, mediaplayer
Android-hls
最近公司产品需要,调研hls(m3u8) aes-128 解密播放 . 分析 51Cto, 慕课
Stars: ✭ 73 (-75.17%)
Mutual labels:  exoplayer
Mediasdk
The library is working for downloading video while playing the video, the video contains M3U8/MP4
Stars: ✭ 164 (-44.22%)
Mutual labels:  exoplayer
MediaFlyout
Windows 10+ Media Control Taskbar Flyout
Stars: ✭ 87 (-70.41%)
Mutual labels:  mediaplayer
Android Videoplayer
Migrated:
Stars: ✭ 144 (-51.02%)
Mutual labels:  exoplayer
Yjplay
一个支持自定义UI布局,流式API, 加密,直播 ,亮度,音量,快进等手势 ,广告视频预览,多种加载模式 ,多种分辨率切换 ,多种封面图, 自定义数据源,列表播放,倍数播放,边播变缓存<font color="red">不是使用AndroidVideoCache</font>,离线播放,神奇的播放器
Stars: ✭ 1,700 (+478.23%)
Mutual labels:  exoplayer
VideoCrop
Crop video with Android Media Codec API
Stars: ✭ 44 (-85.03%)
Mutual labels:  exoplayer

AndroidX Media

AndroidX Media is a collection of libraries for implementing media use cases on Android, including local playback (via ExoPlayer) and media sessions.

Current status

AndroidX Media is currently in beta and we welcome your feedback via the issue tracker. Please consult the release notes for more details about the beta release.

ExoPlayer's new home will be in AndroidX Media, but for now we are publishing it both in AndroidX Media and via the existing ExoPlayer project. While AndroidX Media is in beta we recommend that production apps using ExoPlayer continue to depend on the existing ExoPlayer project. We are still handling ExoPlayer issues on the ExoPlayer issue tracker.

You'll find some Media3 documentation on developer.android.com, including a migration guide for existing ExoPlayer and MediaSession users.

AndroidX Media releases provide API stability guarantees, ensuring that the API surface remains backwards compatible for the most commonly used APIs. APIs intended for more advanced use cases are marked as unstable. To use an unstable method or class without lint warnings, you’ll need to add the OptIn annotation before using it. For more information see the UnstableApi documentation.

For a high level overview of the initial version of AndroidX Media please see the Android Dev Summit talk What's next for AndroidX Media and ExoPlayer.

Using the libraries

You can get the libraries from the Google Maven repository. It's also possible to clone this GitHub repository and depend on the modules locally.

From the Google Maven repository

1. Add module dependencies

The easiest way to get started using AndroidX Media is to add gradle dependencies on the libraries you need in the build.gradle file of your app module.

For example, to depend on ExoPlayer with DASH playback support and UI components you can add dependencies on the modules like this:

implementation 'androidx.media3:media3-exoplayer:1.X.X'
implementation 'androidx.media3:media3-exoplayer-dash:1.X.X'
implementation 'androidx.media3:media3-ui:1.X.X'

where 1.X.X is your preferred version. All modules must be the same version.

Please see the AndroidX Media3 developer.android.com page for more information, including a full list of library modules.

This repository includes some modules that depend on external libraries that need to be built manually, and are not available from the Maven repository. Please see the individual READMEs under the libraries directory for more details.

2. Turn on Java 8 support

If not enabled already, you also need to turn on Java 8 support in all build.gradle files depending on AndroidX Media, by adding the following to the android section:

compileOptions {
  targetCompatibility JavaVersion.VERSION_1_8
}

3. Enable multidex

If your Gradle minSdkVersion is 20 or lower, you should enable multidex in order to prevent build errors.

Locally

Cloning the repository and depending on the modules locally is required when using some libraries. It's also a suitable approach if you want to make local changes, or if you want to use the main branch.

First, clone the repository into a local directory:

git clone https://github.com/androidx/media.git
cd media

Next, add the following to your project's settings.gradle file, replacing path/to/media with the path to your local copy:

gradle.ext.androidxMediaModulePrefix = 'media-'
apply from: file("path/to/media/core_settings.gradle")

You should now see the AndroidX Media modules appear as part of your project. You can depend on them as you would on any other local module, for example:

implementation project(':media-lib-exoplayer')
implementation project(':media-lib-exoplayer-dash')
implementation project(':media-lib-ui')

Developing AndroidX Media

Project branches

Development work happens on the main branch. Pull requests should normally be made to this branch.

The release branch holds the most recent stable release.

Using Android Studio

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].