背景分析
一般对于一个播放器,应该支持如下几种显示模式:
-
等比例,最大化区域显示,不裁剪
- 等比例,最大区域显示,裁剪
- 拉伸显示,铺满全屏
要实现这几种显示模式。其实只要对播放控件的布局进行些许调整即可。同时针对用户需求,不断提升播放性能。
今天主要为大家介绍EasyPlayer-RTSP解决播放不了外网RTSP流的问题
最近有客户反应EasyPlayer-RTSP-Android播放不了外网的rtsp流,故此我们将EasyPlayer-RTSP-Android的library库移植到自己的项目中,测试可以播放局域网的额rtsp流,到客户那里为什么播放不了外网的rtsp流?
移植后的代码如下,在onSurfaceTextureAvailable回调中,调用:
client = new EasyPlayerClient(Main2Activity.this,
BuildConfig.RTSPKEY,
new Surface(surface),
mResultReceiver/*,null*/,
Main2Activity.this);
client.start("rtsp://admin:admin@114.236.138.141:8804/12",
Client.TRANSTYPE_UDP,
0,
Client.EASY_SDK_VIDEO_FRAME_FLAG |
Client.EASY_SDK_AUDIO_FRAME_FLAG,
"",
"");
移植后的代码中,在启动拉流的start方法中,写死了UDP传输方式,但是有的网络映射不支持udp,有的不支持tcp,需要根据实际情况设置该参数。所以这里设置成tcp模式即可解决该问题。