zoukankan      html  css  js  c++  java
  • EasyPlayerPro Windows播放器读取xml配置文件中的特殊字符问题

    问题被反馈

    今日一客户反馈说播放不了带用户名密码的流, 奇怪,这个问题不存在啊…,按照客户的说法, 是将url地址保存在配置文件中,然后再打开EasyPlayerPro运行;

    问题复现

    在EasyPlayerPro.xml中输入带用户名和密码(含有特殊字符&)的地址, 再运行EasyPlayerPro.exe;
    果然,所有特殊字符&全都不见了,如下图:

    EasyPlayerPro播放器

    问题分析与解决

    • 找度娘,问tinyxml特殊字符;
    • 从sourceforge.net下载tinyxml的源码;
    • 使用vs2010打开tinyxml.sln;
    • solution中有4个project, 不用全部编译,只需编译tinyxml即可;
      具体方法:
    打开tinyxmlparser.cpp,第528行, 将注释的*length=1;恢复启用即可;
    //*length = 1;  改为   *length = 1;
    
    const char* TiXmlBase::GetEntity( const char* p, char* value, int* length, TiXmlEncoding encoding )
    {
        ......
    
        // So it wasn't an entity, its unrecognized, or something like that.
        *value = *p;    // Don't put back the last one, since we return it!
        *length = 1;    // Leave unrecognized entities - this doesn't really work.
                        // Just writes strange XML.
        return p+1;
    }

    重新编译tinyxml;
    将编译好的tinyxml.lib拷贝到EasyPlayerPro目录,运行EasyPlayerPro, 地址栏显示正常, 如下图:

    EasyPlayerPro播放器

    关于EasyPlayerPro播放器

    EasyPlayerPro是一款全功能的流媒体播放器,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性,核心基于ffmpeg,稳定、高效、可靠、可控,支持Windows、Android、iOS三个平台,目前在多家教育、安防、行业型公司,都得到的应用,广受好评!

    EasyPlayerPro:https://github.com/EasyDSS/EasyPlayerPro

    点击链接加入群【EasyPlayer & EasyPlayerPro】:544917793

    技术与交流

    获取更多信息

    EasyDarwin开源流媒体服务器:www.EasyDarwin.org

    EasyDSS商用流媒体解决方案:www.EasyDSS.com

    EasyNVR无插件直播方案:www.EasyNVR.com

    Copyright © EasyDarwin Team 2012-2017

    EasyDarwin

  • 相关阅读:
    博客是一种心情
    双显示器和双鼠标
    C++ Primer Plus 第六版 代码笔记
    Bug,昂首走进2005
    让万能五笔2004免费版改首页的功能见鬼去吧。
    Gmail提供POP3和SMTP已经老长时间了
    快过年回家了,发点实用的东西给大家
    关于博客园Post的时候排版的一点小建议
    在.Net下进行MicroStation(GG)的开发(一)
    验证域的另一方法
  • 原文地址:https://www.cnblogs.com/babosa/p/8206962.html
Copyright © 2011-2022 走看看