安卓视频播放(阿里云视频点播播放器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继承 GestureDetector.SimpleOnGestureListener主要用到了

onDown(MotionEvent e)

onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)两个方法

a.在onDown的时候把状态设置NONE

b.判断横向滑动的距离大于纵向滑动的距离,就把模式赋值为快进和后退

c.在onScroll中进行状态赋值,根据滑动的距离,如果按下的点在屏幕的左半部分就吧状态设置为调节亮度BRIGHTNESS,如果在右半部分就是调节音量

d.各种情况调用各自的接口方法

快进和后退,我们需要知道的就是我们滑动的距离如何与视频的长度关联起来。

那么咱们就可以把视频的总长度与屏幕的总长度相比,这样就能知道你手指滑动的距离占视频的多少了。

我们可以通过 l = duration / mySurfaceView.getWidth()来获得这个比例,然后用当前的进度加上指滑动的距离占视频的长度就是要播放的视频位置

抬起点的x坐标与按下点的X坐标所得的距离,大于0是快进,小于零是后退。

系统的音量有很多,包括通话音量值,系统铃声值,音乐音量值,闹铃音量值,等等吧。

做一下笔记以备以后用到

视频播放我们用的是音乐音量值,同样的道理,我们需要把音量和高度进行关联,我们可以控件的高度闭上最大音量得出比例后就可以知道你滑动的距离占音量的多少了。

这里有个注意点就是activity是当前的这个界面,设置的是当前的界面,离开这个界面后就不管用了。

相同的道理和滑动调节音量一样也是获得屏幕的高度比上最大的亮度,然后计算滑动的距离转换成亮度是多少。(这里不多讲了)

为什么会出现黑屏,就是按Home键再点App回来后,只有声音没有图片的问题,因为我们用的是SurfaceView,每次点击Home键时会销毁这个SurfaceView,再回来时又会重新创建,这样我们的阿里云播放器与SurfaceView就没有绑定了,画面就没有了。

这样我们需要 给surfaceView添加mySurfaceView.getHolder().addCallback(this)

我们在按home键的时候会走surfaceDestroyed。这样,我们就可以在这里做一个标识,让他暂停,然后再回来的时候就会走surfaceCreated,判断标识,然后进行处理就可以了。切记一定要重新让aliyunVodPlayer与SurfaceView进行关联,这样才能有画面也有声音。

由于我们的视频在阿里云的服务器上存着,访问阿里云的服务器需要临时凭证,我们通过STS来获取Token,但是这个Token是有时间限制,正好阿里云的播放器给我们提供了播放视频出错时候的回调接口,我们只需要在这里面进行重新请求Token就可以了

ZEGO即构webrtc实时音视频SDK支持php接入,即构只有4行代码,30分钟在APP、Web和小程序等应用内实现视频通话、语音通话,互动直播功能。【点击免费试用,0成本启动】

ZEGO即构webrtc实时音视频SDK还支持Java、React Native、JavaScript 、Swift、Electron、Flutter等多种语言框架。即构的实时音视频SDK能够为开发者提供便捷接入、高清流畅、多平台互通、低延迟、高并发的音视频服务,提供支持多种硬编、多种软编,可以适应一对多、多对多的实时音视频互动,例如秀场直播,视频会议等场景。PHP是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,PHP同时支持面向对象和面向过程的开发,使用上非常灵活。

想要了解更多关于这方面的相关信息,推荐咨询ZEGO即构科技。2022年4月28日,即构科技携手互联网出海服务平台扬帆出海、互联网出海企业WebEye,共同举办《音视频社交出海新风口》线上直播活动。即构科技泛娱乐社交玩法2.0以及最新的技术方案已经在市场上得到成功的验证,未来希望能通过即构的行业沉淀,与客户一同推动行业升级,并且在未来的行业热点上持续提供实实在在可落地的解决方案。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/528395.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-23
下一篇2023-06-23

发表评论

登录后才能评论

评论列表(0条)

    保存