安卓视频播放(阿里云视频点播播放器SDK+SurfaceView)
本篇文章讲述使用阿里云视频视频播放sdk中的高级播放器加上SurfaceView实现,采用id+STS方法进行视频播放。
流程:用户App获取STS凭证 -> 服务端下发STS凭证 -> 用户上传视频并获取vid -> 服务端获取STS凭证 -> 将STS凭证下发给客户端 -> 完成视频播放。
请看阿里云文档=========》》》》》》 阿里云-高级播放器Android使用说明
接下来我们来看一下安卓给我们提供的手势控制类
接口
setOnTouchListener(this);
其中定义了四种状态 NONE = 0, VOLUME = 1, BRIGHTNESS = 2, FF_REW = 3;
接下来我们来看一下我们自定义的SurfaceViewOnGestureListener继承 GestureDetectorSimpleOnGestureListener主要用到了
onDown(MotionEvent e)
onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)两个方法
a在onDown的时候把状态设置NONE
b判断横向滑动的距离大于纵向滑动的距离,就把模式赋值为快进和后退
c在onScroll中进行状态赋值,根据滑动的距离,如果按下的点在屏幕的左半部分就吧状态设置为调节亮度BRIGHTNESS,如果在右半部分就是调节音量
d各种情况调用各自的接口方法
快进和后退,我们需要知道的就是我们滑动的距离如何与视频的长度关联起来。
那么咱们就可以把视频的总长度与屏幕的总长度相比,这样就能知道你手指滑动的距离占视频的多少了。
我们可以通过 l = duration / mySurfaceViewgetWidth();来获得这个比例,然后用当前的进度加上指滑动的距离占视频的长度就是要播放的视频位置
抬起点的x坐标与按下点的X坐标所得的距离,大于0是快进,小于零是后退。
系统的音量有很多,包括通话音量值,系统铃声值,音乐音量值,闹铃音量值,等等吧。
做一下笔记以备以后用到
视频播放我们用的是音乐音量值,同样的道理,我们需要把音量和高度进行关联,我们可以控件的高度闭上最大音量得出比例后就可以知道你滑动的距离占音量的多少了。
这里有个注意点就是activity是当前的这个界面,设置的是当前的界面,离开这个界面后就不管用了。
相同的道理和滑动调节音量一样也是获得屏幕的高度比上最大的亮度,然后计算滑动的距离转换成亮度是多少。(这里不多讲了)
为什么会出现黑屏,就是按Home键再点App回来后,只有声音没有的问题,因为我们用的是SurfaceView,每次点击Home键时会销毁这个SurfaceView,再回来时又会重新创建,这样我们的阿里云播放器与SurfaceView就没有绑定了,画面就没有了。
这样我们需要 给surfaceView添加mySurfaceViewgetHolder()addCallback(this);
我们在按home键的时候会走surfaceDestroyed。这样,我们就可以在这里做一个标识,让他暂停,然后再回来的时候就会走surfaceCreated,判断标识,然后进行处理就可以了。切记一定要重新让aliyunVodPlayer与SurfaceView进行关联,这样才能有画面也有声音。
由于我们的视频在阿里云的服务器上存着,访问阿里云的服务器需要临时凭证,我们通过STS来获取Token,但是这个Token是有时间限制,正好阿里云的播放器给我们提供了播放视频出错时候的回调接口,我们只需要在这里面进行重新请求Token就可以了
阿里云esc服务器怎么使用?
阿里云esc服务器的使用方法如下:
1、购买了,先登录到阿里云服务器控制台
2、点击顶部的“控制台”
3、通过左侧栏,切换到“云服务器ECS”即可登录进去,
通过ECS控制台的远程连接来登录到云服务器
阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,
阿里云服务器,内网可以访问怎么用外网访问?
看下ftp配置文件开启远程访问阿里云策略那边开放2120端口
阿里云怎么使用私有ip登录?
阿里云域名登录的方法如下:
1登录阿里云账号,进入服务器控制台,找到服务器的公网ip
2本地电脑键盘同时摁住winr
3对话框里输入mstsc点击确定
4计算机那输入服务器的公网ip,点击连接
5账户名输入:administrator密码输入您设定的密码
6保存凭证那点击:是
Windows系统的服务器,登录后和本地电脑页面基本一致,可以把本地电脑下载好的安装包复制,到服务器页面
阿里云服务器怎么配置环境?
由于Web网站需要搭建测试模板使用,会造成网站建设环境混乱。需要重置ECS服务器系统的状态,将ECS服务器恢复到未安装Web网站时的状态。
1、登录云服务管理控制台,选择云服务ECS,单击实例,进入实例页面。
2、在实例列表页面,选择更多磁盘和镜像,单击“更换系统盘”或“重新初始化磁盘”,将ECS服务器重置为初始状态。
阿里云是什么怎么用的?
阿里云是全球领先的云计算及人工智能科技公司,致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技
问题一、弹出redirect uri is illegal(100010)这个错误是回调地址错了(域名绑定的QQ互联不一致),注意:我们只要用我们现在新的域名进入后台将QQ互联关闭重新开启,然后在工具-云平台诊断将站点信息同步一下就OK了。这是我解决的办法,希望对大家有用。也许有些人的情况和我的不同,大家试下。
问题二、也有可能是QQ互联未通过审核的原因,因为最近QQ互联改了规则,需要重新提交审核。
上图解答:
0条评论