All Projects → jenly1314 → KingPlayer

jenly1314 / KingPlayer

Licence: MIT License
🎬 一个专注于 Android 视频播放器的基础库,无缝切换内核。(IjkPlayer、ExoPlayer、VlcPlayer、MediaPlayer)

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to KingPlayer

Dkvideoplayer
Android Video Player. 安卓视频播放器,封装MediaPlayer、ExoPlayer、IjkPlayer。模仿抖音并实现预加载,列表播放,悬浮播放,广告播放,弹幕
Stars: ✭ 3,796 (+10745.71%)
Mutual labels:  player, video-player, exoplayer, mediaplayer, ijkplayer
Playerbase
The basic library of Android player will process complex business components. The access is simple。Android播放器基础库,专注于播放视图组件的高复用性和组件间的低耦合,轻松处理复杂业务。
Stars: ✭ 2,814 (+7940%)
Mutual labels:  player, exoplayer, mediaplayer, ijkplayer
Magicalexoplayer
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
Stars: ✭ 171 (+388.57%)
Mutual labels:  player, exoplayer, mediaplayer, videoplayer
CommenPlayer
CommenPlayer ——Video player, Support ijkPlayer, Vlc, MediaPlayer, ExoPlayer; 视频播放器,支持ijkPlayer,Vlc,MediaPlayer,ExoPlayer
Stars: ✭ 81 (+131.43%)
Mutual labels:  player, exoplayer, mediaplayer, ijkplayer
Giraffeplayer2
out of the box android video player(support lazy load, ListView/RecyclerView and hight performance)
Stars: ✭ 344 (+882.86%)
Mutual labels:  player, video-player, ijkplayer
Gsyvideoplayer
视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。
Stars: ✭ 16,948 (+48322.86%)
Mutual labels:  player, exoplayer, ijkplayer
Xgplayer
A HTML5 video player with a parser that saves traffic
Stars: ✭ 4,792 (+13591.43%)
Mutual labels:  player, video-player, videoplayer
Mkvideoplayer
MKVideoPlayer library is a video player have some basic features that need to develop an video player application in android studio
Stars: ✭ 54 (+54.29%)
Mutual labels:  player, mediaplayer, videoplayer
Exomedia
An Android ExoPlayer wrapper to simplify Audio and Video implementations
Stars: ✭ 1,939 (+5440%)
Mutual labels:  exoplayer, mediaplayer, videoview
Xamarinmediamanager
Cross platform Xamarin plugin to play and control Audio and Video
Stars: ✭ 647 (+1748.57%)
Mutual labels:  player, exoplayer, mediaplayer
X1Player
iOS端封装的视频播放器.支持直播,录播视频的播放,支持常用的播放界面控制,类似于ijkplayer 优点是体积更小,使用快捷
Stars: ✭ 21 (-40%)
Mutual labels:  player, video-player, ijkplayer
react-native-vlc-media-player
React native media player for video streaming and playing. Supports RTSP, RTMP and other protocols supported by VLC player
Stars: ✭ 221 (+531.43%)
Mutual labels:  player, video-player, vlc-player
Zftplayer
iOS平台下基于IJKplayer封装的视频播放器,主要适用于视频点播。针对视频格式,前后台切换,内存管理控件的层级分离做了相应优化
Stars: ✭ 273 (+680%)
Mutual labels:  player, ijkplayer, videoplayer
Sbplayerclient
支持全格式的mac版视频播放器
Stars: ✭ 110 (+214.29%)
Mutual labels:  player, video-player, videoplayer
Sjvideoplayer
iOS VideoPlayer MediaPlayer video player media player 短视频播放器 可接入 ijkplayer aliplayer alivodplayer plplayer
Stars: ✭ 2,066 (+5802.86%)
Mutual labels:  player, video-player, videoplayer
Fijkplayer
ijkplayer for flutter. ijkplayer 的 flutter 封装。 Flutter video/audio player. Flutter media player plugin for android/iOS based on ijkplayer. fijkplayer 是基于 ijkplayer 封装的 flutter 媒体播放器,开箱即用,无需编译 ijkplayer
Stars: ✭ 943 (+2594.29%)
Mutual labels:  player, video-player, ijkplayer
Android P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 70 (+100%)
Mutual labels:  player, exoplayer, ijkplayer
ti.exoplayer
A native control for playing videos for Titanium. Based on Google ExoPlayer, using Titanium.Media.VideoPlayer API.
Stars: ✭ 17 (-51.43%)
Mutual labels:  exoplayer, mediaplayer, videoplayer
YetAnotherVideoPlayer
Yet Another Video Player for Andoid
Stars: ✭ 62 (+77.14%)
Mutual labels:  video-player, exoplayer, mediaplayer
nplayer
🚀 支持移动端、支持 SSR、支持直播,可以接入任何流媒体。高性能的弹幕系统。高度可定制,所有图标、主题色等都可以替换,并且提供了内置组件方便二次开发。无第三方运行时依赖。
Stars: ✭ 897 (+2462.86%)
Mutual labels:  player, video-player

KingPlayer

Download JCenter JitPack CI CircleCI API License Blog QQGroup

KingPlayer 一个专注于 Android 视频播放器(IjkPlayer、ExoPlayer、VlcPlayer、SysPlayer)的基础库,无缝切换内核。

功能说明

  • 主要播放相关核心功能
  • 播放器无缝切换
    • MediaPlayer封装实现(SysPlayer)
    • IjkPlayer封装实现
    • ExoPlayer封装实现
    • vlc-android封装实现
  • 控制图层相关
    • 待补充...

Gif 展示

Image

录制的gif效果有点不清晰,可以下载App查看详情。

引入

gradle:

使用 SysPlayer (Android自带的MediaPlayer)

//KingPlayer基础库,内置SysPlayer
implementation 'com.king.player:king-player:1.0.0-beta1'

使用 IjkPlayer

//KingPlayer基础库(必须)
implementation 'com.king.player:king-player:1.0.0-beta1'
//IjkPlayer
implementation 'com.king.player:ijk-player:1.0.0-beta1'

// 根据您的需求选择ijk模式的so
implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
// Other ABIs: optional
implementation 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'

使用 ExoPlayer

//KingPlayer基础库(必须)
implementation 'com.king.player:king-player:1.0.0-beta1'
//ExoPlayer
implementation 'com.king.player:exo-player:1.0.0-beta1'

使用 VlcPlayer

//KingPlayer基础库(必须)
implementation 'com.king.player:king-player:1.0.0-beta1'
//VlcPlayer
implementation 'com.king.player:vlc-player:1.0.0-beta1'

示例

布局示例

    <com.king.player.kingplayer.view.VideoView
        android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

代码示例

        //初始化一个视频播放器(IjkPlayer、ExoPlayer、VlcPlayer、SysPlayer)
        videoView.player = IjkPlayer(context)
        //初始化数据源
        val dataSource = DataSource(url)
        videoView.setDataSource(dataSource)

        videoView.setOnSurfaceListener(object : VideoView.OnSurfaceListener {
            override fun onSurfaceCreated(surface: Surface, width: Int, height: Int) {
                LogUtils.d("onSurfaceCreated: $width * $height")
                videoView.start()
            }

            override fun onSurfaceSizeChanged(surface: Surface, width: Int, height: Int) {
                LogUtils.d("onSurfaceSizeChanged: $width * $height")
            }

            override fun onSurfaceDestroyed(surface: Surface) {
                LogUtils.d("onSurfaceDestroyed")
            }

        })

        //缓冲更新监听
        videoView.setOnBufferingUpdateListener {
            LogUtils.d("buffering: $it")
        }
        //播放事件监听
        videoView.setOnPlayerEventListener { event, bundle ->

        }
        //错误事件监听
        videoView.setOnErrorListener { event, bundle ->

        }
        

        
        //------------ 控制相关
        //开始
        videoView.start()
        //暂停
        videoView.pause()
        //进度调整到指定位置
        videoView.seekTo(pos)
        //停止
        videoView.stop()
        //释放
        videoView.release()
        //重置
        videoView.reset()

更多使用详情,请查看app中的源码使用示例或直接查看API帮助文档

其他

需使用JDK8+编译,在你项目中的build.gradle的android{}中添加配置:

compileOptions {
    targetCompatibility JavaVersion.VERSION_1_8
    sourceCompatibility JavaVersion.VERSION_1_8
}

版本记录

v1.0.0-beta1:2020-12-28

  • KingPlayer初始版本

感谢

ijkPlayer

ExoPlayer

vlc-android

MediaPlayer

赞赏

如果您喜欢KingPlayer,或感觉KingPlayer帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 😃

您也可以扫描下面的二维码,请作者喝杯咖啡

关于我

Name: Jenly

Email: jenly1314#gmail.com / jenly1314#vip.qq.com

CSDN: jenly121

CNBlogs: jenly

GitHub: jenly1314

Gitee: jenly1314

加入QQ群: 20867961

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].