android阿里云基础视频播放器
android阿里云基础视频播放器记录:
1、阿里云视频播放器sdk地址:https://help.aliyun.com/document_detail/61910.html?spm=a2c4g.11186623.6.810.4ed6533cEJ431r
2、创建demo集成sdk https://help.aliyun.com/document_detail/61910.html?spm=a2c4g.11186623.6.810.4ed6533cEJ431r 按照流程集成arr文件
android恶心人的地方就是: 明明很清楚的流程,就是会出不来,出问题,擦
项目根目录下:gradle.build添加
allprojects {
repositories {
flatDir {
dirs 'libs'
}
google()
jcenter()
}
}
app目录下:gradle.build添加
implementation(name: 'AlivcPlayer-3.4.8', ext: 'aar')
implementation(name: 'AlivcReporter-1.2', ext: 'aar')
implementation(name: 'AliyunVodPlayer-3.4.8', ext: 'aar')
这步听我的直接copy别自己手敲了,会报错,恶心至极
集成这三个arr要求minSdkVersion 16以上
3、集成步骤(可以按照官方文档或demo来做,这里供初次接触者参考)
说明:android端集成阿里云arr资源库 (基础播放)
1》、创建项目, app->libs下
AlivcPlayer-3.4.8.arr
AlivcReporter-1.2.arr
2》、app下的build.gradle添加依赖
//阿里云播放器
implementation(name: 'AlivcPlayer-3.4.8', ext: 'aar')
implementation(name: 'AlivcReporter-1.2', ext: 'aar')
3》、在项目根目录下build.gradle设置
allprojects {
repositories {
flatDir {
dirs 'libs'
}
google()
jcenter()
}
}
然后sync同步依赖
4》、代码初始化,application初始化阿里云sdk player
//初始化播放器
AliVcMediaPlayer.init(getApplicationContext());
5》、manifest中添加权限
<!--阿里播放器权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
6》、activity使用播放:
mPlayer = new AliVcMediaPlayer(AliVcMediaPlayerActivity.this,surfaceView);这一句代码不能直接放在oncreat()里面。
必须首先获取到surfaceView 的holder :surfaceView.getHolder(),然后添加一个回调,在回调方法surfaceCreated()中创建AliVcMediaPlayer实例。
(1)、xml中创建surfaceview,实例化surfaceview,并创建 SurfaceHolder
mSurfaceView= (SurfaceView)findViewById(R.id.mSurfaceView);
SurfaceHolder surfaceHolder = mSurfaceView.getHolder();
surfaceHolder.addCallback( new SurfaceCallback());
(2)、preparePlay
/**
* 播放视频准备
*/
private void preparePlay(){
mPlayer = new AliVcMediaPlayer(this, mSurfaceView);
//开启缓存
mPlayer.setPlayingCache(true,createCacheFiles(),60,300);
//填充效果
mPlayer.setVideoScalingMode(MediaPlayer.VideoScalingMode.VIDEO_SCALING_MODE_SCALE_TO_FIT);
//开启循环播放
mPlayer.setCirclePlay(true);
//准备完成
mPlayer.setPreparedListener(new MediaPlayer.MediaPlayerPreparedListener() {
@Override
public void onPrepared() {
Log.i("mPlayer","setPreparedListener");
mPlayer.play();
}
});
/*** 其他监听和参数自己去设置 ****/
}
(3)、SurfaceCallback类的实现
/**
* SurfaceCallback
*/
private class SurfaceCallback implements SurfaceHolder.Callback{
@Override
public void surfaceCreated(SurfaceHolder holder) {
//准备播放
preparePlay();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
if (null != mPlayer) {
mPlayer = null;
}
}
}
(4)、开始播放视频
/**
* 播放视频
* @param videoUrl
*/
private void startPlay(String videoUrl) {
if(mPlayer==null){
preparePlay();
}
//设置缺省编码类型:0表示硬解;1表示软解;
//如果缺省为硬解,在使用硬解时如果解码失败,会尝试使用软解
//如果缺省为软解,则一直使用软解,软解较为耗电,建议移动设备尽量使用硬解
mPlayer.setDefaultDecoder(0);
//如果从历史点开始播放
//mPlayer.seekTo(position);
//准备开始播放
mPlayer.prepareAndPlay(videoUrl);
}
(5)、停止播放视频
/**
* 停止播放 (其他的,暂停等功能自己可以定义方法实现)
*/
private void stopPlay() {
if (mPlayer.isPlaying()){
Toast.makeText(MainActivity.this,"停止",Toast.LENGTH_LONG).show();
mPlayer.stop();
mPlayer.destroy();
mPlayer =null;
}else{
Toast.makeText(MainActivity.this,"从来没放过",Toast.LENGTH_LONG).show();
}
}
4、播放实现参考:
https://download.csdn.net/download/u010326875/10832938 基础播放功能的实现 (整理demo)
https://download.csdn.net/download/hycfire/9884170 集成jar+so的demo实现
android阿里云基础视频播放器相关推荐
- 阿里云SDK播放器集成
android阿里云基础视频播放器记录: 1.阿里云视频播放器sdk地址:https://help.aliyun.com/document_detail/61910.html?spm=a2c4g.11 ...
- android使用阿里云推流播放器记录
android使用阿里云推流播放器记录: 在这里扯一句,如何删除csdn自己上传的资源:(参考:https://blog.csdn.net/qq_38122230/article/details/79 ...
- 阿里云Aliplayer视频播放(web播放器)
1.官方文档https://help.aliyun.com/document_detail/125548.html?spm=a2c4g.11186623.6.1089.3f4b317c0dCNvV 2 ...
- Android进阶:自定义视频播放器开发(下)
上一篇文章我们主要讲了视频播放器开发之前需要准备的一个知识,TextureView,用于对图像流的处理.这篇文章开始构建一个基础的视频播放器. 一.准备工作 在之前的文章已经说过了,播放器也是一个vi ...
- Android课程设计之视频播放器
CSDN下载:https://download.csdn.net/download/eseszb/10463442 移动互联网开发 课程设计报告 学生姓名:学 号: 专业:计算机科学与技术 班级: ...
- 阿里云基础认证(ACA - Alibaba Cloud Certification Associate)
阿里云助理工程师认证(ACA - Alibaba Cloud Certification Associate)是面向使用阿里云基础产品的专业技术认证,主要涉及阿里云的计算.存储.网络.安全类的核心产品 ...
- React+阿里云Aliplayer播放器实现rtmp直播(推流时间差,重启播放器,计时观看)
需求 前端框架为React 用阿里云播放器Aliplayer播放直播 使用的rtmp协议 资料 阿里云播放器 Web端文档:https://help.aliyun.com/document_detai ...
- Android Video Player. 安卓视频播放器,封装 MediaPlayer、ExoPlayer、IjkPlayer。模仿抖音,悬浮播放,广告播放,列表播放,弹幕
DKVideoPlayer 项目地址:dueeeke/DKVideoPlayer 简介: Android Video Player. 安卓视频播放器,封装 MediaPlayer.ExoPlayer. ...
- Android进阶:自定义视频播放器开发(上)
随着快手,抖音,西瓜视频等视频APP的崛起,视频播放已经成为主流,此时作为Android研发的你,想要提高自己的能力还不知道怎么开发视频播放器怎么行?所以今天就带着大家一起开发一个简易播放器:Smal ...
最新文章
- 图片管理之获取图片列表数据
- debstack 安装 openstack
- 提高github下载速度
- [导入]ASP.NET AJAX 说明文档-客户端引用-全局命名空间-JavaScript 基础类型扩展-Array 类型扩展-contains 函数...
- 【绝对有用】Syntax error on token “throws“, @ expected after this token
- Spring+ Spring cloud + SSO单点登录应用认证
- activemq和mysql_activeMQ 填坑记
- 【渝粤题库】陕西师范大学210014幼儿园科学教育作业(高起专)
- leetcode 45. 跳跃游戏 II 思考分析
- Machine Learning - XII. Support Vector Machines支持向量机(Week 7)
- WinDbg、Symbol Packages、SRVINSTW、DebugView下载地址
- 部分相机和相机镜头的参数
- 笔记本处理器排名_上半年最受欢迎处理器TOP10榜单:AMD终进榜,9代酷睿无缘前10...
- Windows系统下的百度云不限速
- 【企业架构】现代企业架构方法——第 1 章
- MATLAB R2019b利用Application Compiler打包文件无法识别runtime问题(亲测可行)
- python读取文件夹下txt文件,并转化成excel
- 计算机培训黑板报,电子板报的教学计划
- android中textview记录日志,Android中TextView属性全纪录
- 嵌入式Linux学习笔记(1-3)——linux系统常用工具