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 ...
随机推荐
- 剑指Offer(三):从尾到头打印链表
一.前言 刷题平台:牛客网 二.题目 输入一个链表,返回一个反序的链表. 1.思路 通常,这种情况下,我们不希望修改原链表的结构.返回一个反序的链表,这就是经典的"后进先出",我们 ...
- 111 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 01 继承的实现
111 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 01 继承的实现 本文知识点: 继承的实现 说明:因为时间紧张,本人写博客过程中只是对知识点 ...
- 带有Firebase的离子2:在OAuth 2中签名
介绍 这是一个指南,展示如何在Android上使用Firebase认证谷歌用户. 背景 虽然很多人都写过这个指南,但是他们没有解释一个关键的部分--为什么在执行了每一步之后仍然会看到认证错误12501 ...
- C# excel文件导入导出
欢迎关注微信公众号 C#编程大全 这里有更多入门级实例帮你快速成长 在C#交流群里,看到很多小伙伴在excel数据导入导出到C#界面上存在疑惑,所以今天专门做了这个主题,希望大家有所收获! 环境:wi ...
- GIS和视频监控的集成
本文讨论了使用增强现实(AR)技术的三维(3D)地理信息系统(GIS)和视频监视系统的集成.进行这种集成的动机是要克服常规视频监视系统面临的问题.关于哪个摄像机当前监视此类系统中哪个区域的明确信息:因 ...
- OpenCV Java Tutorials- Camera Calibration
2020-10-10原文地址:https://opencv-java-tutorials.readthedocs.io/en/latest/09-camera-calibration.html#id1 ...
- Python数据类型--集合(set)
Python的集合是无序.可迭代的容器对象,所有元素放在一对大括号中{},元素之间使用逗号隔开,同一集合内的元素具有唯一性,不允许重复. 集合中只能包含数字.字符串.元组等不可变类型的数据,不能包含列 ...
- Python函数的定义和参数
函数的初识: 以功能为导向,一个函数就是一个功能.随调随用. 优点: 减少代码重复性. 增强代码的可读性. 函数的结构: def function_name(): 函数体 def: 关键字,定义函 ...
- 不死的小强 .net core 微服务 快速开发框架 Viper 限流
1.Viper是什么? Viper 是.NET平台下的Anno微服务框架的一个示例项目.入门简单.安全.稳定.高可用.全平台可监控.底层通讯可以随意切换thrift grpc. 自带服务发现.调用链追 ...
- Centos7 安装python环境
保留python2 找到python所在位置,把python指向python2.7备份 [root@sun /usr/bin]# cd ~ [root@sun ~]# whereis python p ...