视频流媒体播放器EasyPlayer-RTSP-Android 如何随意切换播放视频流?
我们的视频流媒体播放器可以输出多种视频流,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放,同时也支持本地文件播放。在我们的Easy Player.JS版里面,由于是网页播放器,切换哪种视频流只需点击哪种视频格式,十分便捷,那么在EasyPlayer-RTSP-Android 里应该如何操作才能切换播放流?
针对这个问题,分2种情况:
1、界面只有一个播放器,随意切换;
2、界面有2个及更多个播放器,随意切换。
对此我们也提供了两种对应的解决办法:
1、界面只有一个播放器
只需要切换视频流就行,即在PlayFragment中,先关闭原来的流,重新开启新的流:
public void change() {
if (mStreamRender != null) {
sendResult(RESULT_REND_STOP, null);
mStreamRender.stop();
}
boolean autoRecord = SPUtil.getAutoRecord(getContext());
try {
mStreamRender.start(mUrl,
mType,
Client.EASY_SDK_VIDEO_FRAME_FLAG |
Client.EASY_SDK_AUDIO_FRAME_FLAG,
"",
"",
autoRecord ? FileUtil.getMovieName(mUrl).getPath() : null);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_LONG).show();
return;
}
}
2、界面有2个播放器
由于surface机制的问题,需要在PlayActivity中重新初始化PlayFragment并重新加载。
这里也是为大家提供了一个思路,目前EasyPlayerPro已经支持H265编码的视频播放了,如果有需要可以咨询我。