EasyPlayer-Android播放器是如何实现播放器退到后台后,再回到前台时,播放画面的无缝衔接?

EasyPlayer-Android播放器是一款可针对RTSP、RTMP、RTSP&RTMP协议进行过优化的流媒体播放器,其中两个技术优势就是起播速度快和播放延迟低。

如何实现播放器退到后台后,再回到前台时,播放画面可以无缝衔接?

分析问题

Android播放视频返回后台,再重新回到播放界面,发现TextureView显示视图是一片黑色,是因为播放界面返回后台时会调用onSurfaceTextureDestroyed方法去销毁SurfaceView(华为平板熄屏后也会调用),再到播放界面需要重新创建SurfaceView并初始化EasyPlayerClient,这样会耗费很长时间。

解决问题

在onSurfaceTextureDestroyed销毁方法中,有一个SurfaceTexture参数,我们在销毁的时候返回false,并保存SurfaceTexture对象,然后从后台返回界面的时候在onSurfaceTextureAvailable()方法中,调用setSurfaceTexture(mSurfaceTexture)方法,这样就会恢复之前的画面了。

SDK中的代码如下:

EasyPlayer实现了对遵循标准流媒体码流协议进行实时播放以及码流录制,在流的播放速度以及画质的解码显示上均做了大量深度的优化。另外EasyPlayer支持多平台的客户端版本,方便直接使用或在此基础上进行二次开发。

支持Windows(支持多窗口、包含ActiveX,npAPI Web插件)、Android平台,iOS平台;
视频支持H.264,H.265,MPEG4,MJPEG
音频支持G711A,G711U,G726,AAC
支持RTSP over TCP/UDP,支持硬解码

发布了64 篇原创文章 · 获赞 0 · 访问量 6831

猜你喜欢

转载自blog.csdn.net/EasyGBS/article/details/103630053