zoukankan      html  css  js  c++  java
  • RTSP/RTMP/HTTP/HLS协议视频流媒体播放器EasyPlayerRTSP安卓版本,切换视频流黑屏怎么办?

    EasyPlayer视频流媒体播放器支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性。使用了TSINGSEE青犀视频产品的小伙伴都知道,EasyNVR、EasyDSS内都集成了EasyPlayer.JS版本。

    当然了,EasyPlayer-RTSP、EasyPlayer-RTMP也经受了众多用户的使用考验,表现出了强大的播放和调用性能。

    我们比较细心的测试专员在对EasyPlayer-RTSP-Android进行测试的时候,就发现切换视频流会出现黑屏的情况,如何保证不黑屏就是现有用户需要解决的问题。

    分析问题

    在同一个界面中的同一个播放器上,需要切换不同的视频流,如果先调用EasyPlayerClient的stop方法,再调用start方法,那样会出现一段黑屏的情况,用户体验会很差,需要优化代码,做到无缝切换。

    解决问题

    改写EasyPlayerClient的代码,新增reStart方法:
    1、第一次start时候,保存channel:

        channel = mClient.registerCallback(this);
    

    2、新增closeStream方法,关闭Client:

    public void closeStream() {
        if (mClient != null) {
            mClient.closeStream();
        }
    } 
    

    3、新增reStart方法,先关闭Client,再开启Client:

    public int reStart(final String url, int type, int sendOption, 
        int mediaType, String user, String pwd) {
        closeStream(); 
        return mClient.openStream(channel, url, type, sendOption, mediaType, user, pwd);
    }
    

      

    如果有用户想将EasyPlayer播放器集成进自己的流媒体平台,也是可以的,我们提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速地开发出属于自己的应用程序,进行第二次开发。


    EasyDarwin开源流媒体服务器,是由国内开源流媒体团队TSINGSEE青犀视频开发和维护的一款开源流媒体平台框架。从2012年12月创建并发展至今,从原有的单服务的流媒体服务器形式,扩展成现在的云平台架构的开源项目。

     
  • 相关阅读:
    kafka----简单的脚本命令重点
    kafka简单学习----遇到的问题
    nc简单使用
    kafka-sparkstreaming---学习1
    sparkStream---1
    装系统
    spark入门备忘---1
    linux---学习3
    MySql-5.7.17-20解压缩版安装配置
    springboot动态定时任务
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13716461.html
Copyright © 2011-2022 走看看