当前位置:蜗牛素材网>综合资讯>科技>正文

splash精简播放器,开源,支持IJKExo

人气:248 ℃/2023-11-09 12:48:01

一飞开源,介绍创意、新奇、有趣、实用的免费开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

支持IJKPlayer、ExoPlayer、MediaPlayer和其它更多*********切换、支持静音、镜像、渲染模式、倍速设置等功能的轻便级播放器,支持自定义*********、控制器、UI交互组件和悬浮窗播放能力等

二、开源协议

使用Apache-2.0开源协议

三、界面展示SDK及Demo部分功能预览

四、功能概述SDK基础功能:
  • 支持网络地址、直播流、本地Assets和Raw资源文件播放
  • 支持播放倍速、缩放模式、静音、镜像等功能设置
  • 支持自定义视频*********、控制器、UI交互组件、视频画面渲染器
  • 支持多播放器同时播放
  • SDK默认控制器(局部UI交互可自定义)支持手势控制、付费试看等交互
  • 支持任意位置启动Activity级别悬浮窗口播放
  • 支持任意位置启动全局悬浮窗口播放
  • 支持任意位置直接启动全屏播放
  • 支持连续播放视频列表
  • Demo:列表或组件之间无缝转场播放
  • Demo:全局悬浮窗播放转场跳转Activity
  • Demo:MediaPlayer、IjkPlayer、ExoPlayer三种*********切换
  • Demo:仿抖音,支持视频缓存、秒播
  • Demo:弹幕交互
  • Demo:Android8.0 画中画示例
五、技术选型播放器框架结构图

  • 如图所示,通过架构图可以直观的看到面向用户层的模块和交互都支持自定义,也包括视频*********在内。
SDK集成
  • 建议集成前先下载apk体验,找到自己想要实现的功能模块,后续集成可参考demo源码。
1、项目根build.gradle及模块build.gradle配置

//1.在你的根build.gradle中添加: allprojects { repositories { maven { url 'https://jitpack.io' } } } //2.在你的模块build.gradle中添加: dependencies { //播放器 implementation 'com.github.hty527.iPlayer:iplayer:2.0.4.1' //ijk音视频*********,根据需要使用 //implementation 'com.github.hty527.iPlayer:ijk:2.0.4.1' //exo音视频*********,根据需要使用 //implementation 'com.github.hty527.iPlayer:exo:2.0.4.1' //音视频预缓存 边播边存,根据需要使用 //implementation 'com.github.hty527.iPlayer:cache:2.0.4.1' }2、在需要播放视频的xml中添加如下代码,或在适合的位置new VideoPlayer()

<com.android.iplayer.widget.VideoPlayer android:id="@ id/video_player" android:layout_width="match_parent" android:layout_height="200dp"/>3、播放器准备及开始播放

mVideoPlayer = (VideoPlayer) findViewById(R.id.video_player); mVideoPlayer.getLayoutParams().height= getResources().getDisplayMetrics().widthPixels * 9 /16;//固定播放器高度,或高度设置为:match_parent //使用SDK自带控制器 各UI交互组件 VideoController controller = mVideoPlayer.initController(); //设置视频标题(仅横屏状态可见) controller.setTitle("测试地址播放"); //设置播放源 mVideoPlayer.setDataSource("https://upload.dongfeng-nissan.com.cn/nissan/video/202204/4cfde6f0-bf80-11ec-95c3-214c38efbbc8.mp4"); //异步开始准备播放 mVideoPlayer.prepareAsync();4、生命周期处理

@Override protected void onResume() { super.onResume(); mVideoPlayer.onResume(); } @Override protected void onPause() { super.onPause(); mVideoPlayer.onPause(); } @Override public void onBackPressed() { if(mVideoPlayer.isBackPressed()){ super.onBackPressed(); } } @Override protected void onDestroy() { super.onDestroy(); mVideoPlayer.onDestroy(); }5、常用API、更换*********、自定义*********、UI交互组件和悬浮窗口播放等功能请阅读wiki六、源码地址

访问一飞开源:https://code.exmay.com/

搜索更多有关“splash精简播放器,开源,支持IJKExo”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
本网站部分内容、图文来自于网络,如有侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2008-2024 蜗牛素材网 All Rights Reserved. 手机版