Android 视频播放器 NurVideoPlayer ()
2024-09-30 10:24:42
我在实战项目中用了它。
更新了2.x.x版本ijkplayer的封装
支持屏幕滑动--滑动时间,亮度,声音,进度,支持全屏-单屏,双击暂停--继续,锁定屏幕,支持HTTP和https,也可以控制声道(单声道播放实现KTV功能),单片购买-图片广告等功能(可以自定义控制)
使用方式
- gradle配置
1. 根目录下的build.gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }//添加这行
}
}
- 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是继承```LinearLayout的
orientation是
VERTICAL``
<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麻烦留言,我会尽快的修改。。。
最新文章
- bootstrap做了一个表格
- Linux之CentOS 常用命令
- php 连接 mssql 常见的所有问题
- 机器学习&;数据挖掘笔记_20(PGM练习四:图模型的精确推理)
- POJ1753Flip Game(DFS + 枚举)
- HTML5学堂 全新的HTML5/前端技术分享平台
- hdu 1861-游船出租
- gcc与g++的区别
- Java中各种排序算法
- hdoj 3785 寻找大富翁【优先队列+sort排序】
- 《Effective C++》学习笔记条款13 以对象管理资源
- 阿里云服务器(Win 2008 R2 Standard)安装MSSM 2008 R2之1033和2052问题
- NGUI对象跟随鼠标拖拽移动
- [Database] Deadlock avoidance protocol
- Struts2(四)——页面相关内容
- AI 学习路线
- 对于BFS的理解和部分例题(
- hdu2609 How many【最小表示法】【Hash】
- excel中vba求摩尔圆包线
- MySQL经常使用技巧
热门文章
- 061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结
- JVM 第二篇:垃圾收集器以及算法
- GAN网络之入门教程(四)之基于DCGAN动漫头像生成
- 优质分享 | Spring Boot 入门到放弃!!!
- CodeForces 79D 【Password】,洛谷P3943 【星空】
- Windows7 组策略错误:“未能打开这台计算机上的组策略对象。您可能没有合适的权限。”
- spring boot: 从配置文件中读取数据的常用方法(spring boot 2.3.4)
- 带你了解 MySQL Binlog 不为人知的秘密
- js实现无缝连接轮播图(二)实现自定义属性,根据banner图片的数量动态生成小圆点
- 这份算法攻略,我拿到了5个大厂的offer