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 ...
随机推荐
- 【题解】[USACO09NOV]A Coin Game S
Link \(\text{Solution:}\) 菜鸡自己想出来了状态设计,但是没有实现出来--菜死了 设\(dp[i][j]\)表示该选第\(i\)个,最多选\(j\)个的最优解.注意这里的定义仅 ...
- Java之线程池解析
线程池 目录 线程池 线程池概述 创建一个线程池并提交线程任务 线程池源码解析 参数认识 构造方法 提交任务 addWorker 执行任务 关闭线程池 线程池概述 什么是线程池 为什么使用线程池 线程 ...
- 系统架构设计:平滑发布和ABTesting
平滑发布的介绍 背景 单位的云办公相关系统没有成熟的平滑发布方案,导致每一次发布都是直接发布,dll文件或配置文件的变更会引起站点的重启. 云办公系统的常驻用户有10000+,即使短短半分多钟,也会收 ...
- 多测师讲解自动化 _rf 变量_高级讲师肖sir
rf变量 log 打印全局变量 列表变量: 字典变量: 查看当前工程下的变量 紫色表示变量名有误 设置全局变量 设置列表变量 设置字段变量 关键字书写格式问题
- 苏州6617.9373(薇)xiaojie:苏州哪里有xiaomei
苏州哪里有小姐服务大保健[微信:6617.9373倩儿小妹[苏州叫小姐服务√o服务微信:6617.9373倩儿小妹[苏州叫小姐服务][十微信:6617.9373倩儿小妹][苏州叫小姐包夜服务][十微信 ...
- MeteoInfoLab脚本示例:FY-3C全球火点HDF数据
FY-3C全球火点HDF数据包含一个FIRES二维变量,第一维是火点数,第二维是一些属性,其中第3.4列分别是火点的纬度和经度.下面的脚本示例读出所有火点经纬度并绘图.脚本程序: #Add data ...
- 移动吉比特H2-2光猫超级用户与密码
移动吉比特H2-2光猫超级用户与密码 超级用户名CMCCAdmin 密码aDm8H%MdA----------------版权声明:本文为CSDN博主「BenSon.Album」的原创文章,遵循CC ...
- npoi 设置单元格格式
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- go 结构体函数
package main import "fmt" type Dog struct { Name string } func (d *Dog) speak() string { r ...
- ImageMagick:用identify得到图片的平均颜色(基本颜色/主色调)
一,平均颜色的用途: 很多app在流式的展示图片时, 在图片没加载出来之前, 不是使用统一的背景图, 而是先显示一个纯色的背景, 而背景色和图片的颜色非常接近, 这样给用户的体验会更好. 我们这里演示 ...