视频流媒体播放器EasyPlayer-RTSP-Android 如何随意切换播放视频流?

我们的视频流媒体播放器可以输出多种视频流,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放,同时也支持本地文件播放。在我们的Easy Player.JS版里面,由于是网页播放器,切换哪种视频流只需点击哪种视频格式,十分便捷,那么在EasyPlayer-RTSP-Android 里应该如何操作才能切换播放流?

EasyPlayerJS2.png

针对这个问题,分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并重新加载:

388.jpg

这里也是为大家提供了一个思路,目前EasyPlayerPro已经支持H265编码的视频播放了,如果有需要可以咨询我。

原文地址:https://www.cnblogs.com/EasyNVR/p/13304024.html