RTSP/RTMP/HTTP/HLS协议视频流媒体播放器EasyPlayer-RTSP安卓版本,切换视频流黑屏怎么办?
程序员文章站
2022-03-17 14:56:57
...
EasyPlayer视频流媒体播放器支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性。使用了TSINGSEE青犀视频产品的小伙伴都知道,EasyNVR、EasyDSS内都集成了EasyPlayer.JS版本。
当然了,EasyPlayer-RTSP、EasyPlayer-RTMP也经受了众多用户的使用考验,表现出了强大的播放和调用性能。
我们比较细心的测试专员在对EasyPlayer-RTSP-Android进行测试的时候,就发现切换视频流会出现黑屏的情况,如何保证不黑屏就是现有用户需要解决的问题。
在同一个界面中的同一个播放器上,需要切换不同的视频流,如果先调用EasyPlayerClient的stop方法,再调用start方法,那样会出现一段黑屏的情况,用户体验会很差,需要优化代码,做到无缝切换。
改写EasyPlayerClient的代码,新增reStart方法:
1、第一次start时候,保存channel:
channel = mClient.registerCallback(this);
2、新增closeStream方法,关闭Client:
public void closeStream() {
if (mClient != null) {
mClient.closeStream();
}
}
3、新增reStart方法,先关闭Client,再开启Client:
public int reStart(final String url, int type, int sendOption,
int mediaType, String user, String pwd) {
closeStream();
return mClient.openStream(channel, url, type, sendOption, mediaType, user, pwd);
}
如果有用户想将EasyPlayer播放器集成进自己的流媒体平台,也是可以的,我们提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速地开发出属于自己的应用程序,进行第二次开发。
EasyDarwin开源流媒体服务器,是由国内开源流媒体团队TSINGSEE青犀视频开发和维护的一款开源流媒体平台框架。从2012年12月创建并发展至今,从原有的单服务的流媒体服务器形式,扩展成现在的云平台架构的开源项目。