Android 视频播放器 NurVideoPlayer ()
我在实战项目中用了它。
更新了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麻烦留言,我会尽快的修改。。。
Android 视频播放器 NurVideoPlayer ()的更多相关文章
- Android 视频播放器切换到下个视频时残留上个视频画面的解决办法
最近在做一个Android视频播放器,遇到一个问题:切换到下一个视频时,中间会停留上一个视频的残存画面. 这是怎么回事? 我在网上找了很多资料,终于找到了原因:我是用自定义一个surfacev ...
- android视频播放器开发
http://blog.csdn.net/u010181592/article/details/49301703 http://blog.csdn.net/qq_33291295/article/de ...
- Android 视频播放器 (二):使用MediaPlayer播放视频
在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...
- android视频播放器
RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetworks公司提交的 ...
- 开源的Android视频播放器
之前尝试自己解码视频,然后播放显示,虽然音视频都可以播放,但是实现不了音视频的同步,所以使用第三方的视频库Vitamio来实现视频播放器功能,这样自己只需要实现播放解码的制作不不要关心底层解码和显示问 ...
- Android 视频播放器 (三):使用NBPlayer播放直播视频
一.前言 在 Android 音视频开发学习思路 中,我们不断的学习和了解音视频相关的知识,随着知识点不断的学习,我们现在应该做的事情,就是将知识点不断的串联起来.这样才能得到更深层次的领悟.通过整理 ...
- Android 视频播放器 (一):使用VideoView播放视频
一.简介 作为Android开发,我们不可避免的会接触到视频播放,VideoView做为最简单的播放器,我们是不应该不会的. 下面简单介绍一下VideoView: VideoView是使用MediaP ...
- android视频播放器系列(二)——VideoView
最近在学习视频相关的知识,现在也是在按部就班的一步步的来,如果有同样需求的同学可以跟着大家一起促进学习. 上一节说到了可以使用系统播放器以及浏览器播放本地以及网络视频,但是这在很大程度上并不能满足我们 ...
- Android 视频播放器 (四):使用ExoPlayer播放视频
一.简介 ExoPlayer是一个Android应用层的媒体播放器,它提供了一套可替换Android MediaPlayer的API,可以播放本地或者是线上的音视频资源.ExoPlayer支持一些An ...
随机推荐
- 026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构
026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构 本文知识点:Java中的if-else条件结构语句 上文回顾--if条件结构 如果 ...
- 1个LED的亮度自动控制
控制任务和要求 通过程序控制LED的亮度按照要求变化 电路设计 程序设计 1 int bright_number = 0; //此变量用来表示LED的亮度 2 int bright_gap = 5; ...
- win10下安装使用Docker:Docker for Windows
一.下载win10下安装docker和桌面管理的工具: 下载地址:Docker for Windows 安装软件学习地址:https://www.runoob.com/docker/docker-tu ...
- 部署docker swarm集群
基础环境 机器名称 IP地址 安装的软件 node-1 192.168.10.190 docker-ce node-2 192.168.10.191 docker-ce node-3 192.168. ...
- pycharm里面同级目录的py文件引用报错
使用pycharm开发py遇到很烦的事儿,就是在同级目录引用另外一个py文件,pycharm里面总是会红杠,代码还是 照样可以跑,只是看着烦. 查询了一下,通过将当前目录设置为sources_root ...
- 多测师讲解htm_L标题标签001_高级讲师 肖sir
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>百 ...
- 多测师讲解pyhon__hashlib_高级讲师肖sir
一.加密,加密成16进制的字符串 # import hashlib # 导入hashlib模块# md = hashlib.md5() # 获取一个md5加密算法对象# md.update('需要加密 ...
- 本溪6397.7539(薇)xiaojie:本溪哪里有xiaomei
本溪哪里有小姐服务大保健[微信:6397.7539倩儿小妹[本溪叫小姐服务√o服务微信:6397.7539倩儿小妹[本溪叫小姐服务][十微信:6397.7539倩儿小妹][本溪叫小姐包夜服务][十微信 ...
- iot平台
iot平台 iot平台卓岚云是一个免费的物联网云平台,用户只需按步骤完成注册即可免费使用卓岚云 .支持PC.Android.iOS多平台终端.用户可以在任何地方远程访问任何地方的串口设备,并对远程设备 ...
- Android开发还不会这些?如何面试拿高薪!
我所接触的Android开发者,百分之九十五以上 都遇到了以下几点致命弱点! 如果这些问题也是阻止你升职加薪,跳槽大厂的阻碍. 那么我确信可以帮你突破瓶颈! 群内有许多来自一线的技术大牛,也有在小厂或 ...