我在实战项目中用了它。

更新了2.x.x版本ijkplayer的封装

支持屏幕滑动--滑动时间,亮度,声音,进度,支持全屏-单屏,双击暂停--继续,锁定屏幕,支持HTTP和https,也可以控制声道(单声道播放实现KTV功能),单片购买-图片广告等功能(可以自定义控制)



使用方式

  • gradle配置

    1. 根目录下的build.gradle
      allprojects {
repositories {
...
maven { url 'https://jitpack.io' }//添加这行
}
}
  1. module (APP) 目录下的build.gradle

implementation 'com.gitee.nurApplication:NurVideoPlayer:2.1.6'

  • AndroidManifest.xml

activity(播放器的activity)里面添加这两行

            android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait"

不要忘记!!!不然全屏无效

例如:

<activity
android:name=".activityName"
android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait"/>
  • 添加网络权限
<uses-permission android:name="android.permission.INTERNET"/>

xml

NurVideoView是继承```LinearLayoutorientationVERTICAL``

    <com.nurmemet.nur.nurvideoplayer.NurVideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"> <!--播放器下面的UI写在这里--> </com.nurmemet.nur.nurvideoplayer.NurVideoView>

android:layout_height=一定要"match_parent"

参数xml中只有一个app:video_view_height也就是视频播放器的高度,默认值"match_parent"

默认样式:



设置了app:video_view_height="260dp"



也就是说这里的video_view_height是播放器的高度

java

初始化

 String url = "http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4";
NurVideoView videoView = findViewById(R.id.video_view);
videoView.setUp(this, url, "This is video title");
videoView.start();

需要在onPause() & onResume () & onKeyDown() 中调用

    @Override
public void onBackPressed() {
if (nurVideoPlayer.getIsFullScreen()) {
nurVideoPlayer.setChangeScreen(false);
} else
super.onBackPressed();
} @Override
protected void onPause() {
super.onPause();
nurVideoPlayer.pause();
} @Override
protected void onResume() {
super.onResume();
nurVideoPlayer.start();
} @Override
protected void onDestroy() {
super.onDestroy();
nurVideoPlayer.stopPlay();
} @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
boolean b = nurVideoPlayer.onKeyDown(keyCode);
return b || super.onKeyDown(keyCode, event);
}

参数

方法

return 方法 注释 作用
void setUp(Activity activity, String url, String videoName) url视频的地址,videoName 初始化
void start(); 开始播放
void pause(); 暂停
void resume(); 继续
void stopPlay(); 禁止播放
void setMaxADView(View v) 满(就是播放器的上面)-广告view
void setSmallADView(View v) 小广告view,单片购买等等

还有好多方法你自己去看吧。。。。

listener(监听)

return 方法 注释 作用
void setOnMediaListener(OnMediaListener mediaListener) 监听播放进度,更改屏幕(全屏)等
void setOnControlClickListener(OnControlClickListener controlClickListener); 监听点击事件,返回按钮,麦克风按钮等

遇到了什么问题后者是出现了bug麻烦留言,我会尽快的修改。。。

最新文章

  1. bootstrap做了一个表格
  2. Linux之CentOS 常用命令
  3. php 连接 mssql 常见的所有问题
  4. 机器学习&amp;数据挖掘笔记_20(PGM练习四:图模型的精确推理)
  5. POJ1753Flip Game(DFS + 枚举)
  6. HTML5学堂 全新的HTML5/前端技术分享平台
  7. hdu 1861-游船出租
  8. gcc与g++的区别
  9. Java中各种排序算法
  10. hdoj 3785 寻找大富翁【优先队列+sort排序】
  11. 《Effective C++》学习笔记条款13 以对象管理资源
  12. 阿里云服务器(Win 2008 R2 Standard)安装MSSM 2008 R2之1033和2052问题
  13. NGUI对象跟随鼠标拖拽移动
  14. [Database] Deadlock avoidance protocol
  15. Struts2(四)——页面相关内容
  16. AI 学习路线
  17. 对于BFS的理解和部分例题(
  18. hdu2609 How many【最小表示法】【Hash】
  19. excel中vba求摩尔圆包线
  20. MySQL经常使用技巧

热门文章

  1. 061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结
  2. JVM 第二篇:垃圾收集器以及算法
  3. GAN网络之入门教程(四)之基于DCGAN动漫头像生成
  4. 优质分享 | Spring Boot 入门到放弃!!!
  5. CodeForces 79D 【Password】,洛谷P3943 【星空】
  6. Windows7 组策略错误:“未能打开这台计算机上的组策略对象。您可能没有合适的权限。”
  7. spring boot: 从配置文件中读取数据的常用方法(spring boot 2.3.4)
  8. 带你了解 MySQL Binlog 不为人知的秘密
  9. js实现无缝连接轮播图(二)实现自定义属性,根据banner图片的数量动态生成小圆点
  10. 这份算法攻略,我拿到了5个大厂的offer