zoukankan      html  css  js  c++  java
  • 视频流媒体播放器EasyPlayerRTSPAndroid 如何随意切换播放视频流?

    我们的视频流媒体播放器可以输出多种视频流,支持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编码的视频播放了,如果有需要可以咨询我。

  • 相关阅读:
    CentOS 8配置神奇的自动挂载光驱文件夹misc
    Linux预定义通配符及实例
    history历史记录增加显示时间和用户
    CentOS 8 命令行更改系统语言
    使用screen实现多终端同步显示
    在MobaXtrem使用CentOS 上的图形工具
    CentOS中id前10的用户
    添加硬盘后不重启使系统识别新硬盘
    bash默认启用的内部命令
    九、分页查询
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13071098.html
Copyright © 2011-2022 走看看