欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-07 12:10:30
...

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

视频流媒体播放器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并重新加载:

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

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