摘:PC客户端 XP兼容性调查

  • 现象1:XP SP2下,客户端安装失败(或者启动失败)

解决方案:需要安装以下3个补丁(已经集成到安装包中)

==系统Hotfix(仅仅XP SP2需要安装):

http://support.microsoft.com/?kbid=893803
https://www.microsoft.com/en-us/download/details.aspx?id=32

==.Net Framework Hotfix(建议所有系统都安装,使用64位补丁包):
https://www.microsoft.com/en-us/download/details.aspx?id=3556

  • 现象2:XP SP3下,设置透明属性的窗口,真的变成"透明"了

调查结果:通过调整系统的显卡加速模式,可以改变窗口的渲染模式,让窗口变得不透明
解决方案:在XP系统中,使用CPU模式渲染窗口

RenderOptions.ProcessRenderMode = System.Windows.Interop.RenderMode.SoftwareOnly

思考:由于WPF的渲染对DirectX依赖较强,显卡性能较弱的时候,可能会影响窗口的渲染

  • 现象3:XP系统下,新建视频资源的时候,视频转换失败

调查结果:现在使用的ffmpeg版本不能再XP下运行
解决方案:使用兼容XP版本的ffmpeg
思考:由于ffmpeg会使用CPU的SSE2指令,如果CPU不支持SSE2指令,还有可能导致转换失败

  • 现象4:XP系统下,互动课堂创建失败

调查结果:XP系统下,必须先绑定端口,才能设置多播属性
解决方案:修改多播的创建逻辑

  • 现象5:XP系统下,不能播放音频/视频

调查结果:XP下默认的播放器是Media Player9,不支持MP4和MP3播放
解决思路:1,找到兼容的解码器  2,使用其他播放方案(ffmediaelement,wpf-mediakit,vlc,cef)

2018/01/25:

最后决定使用vlc进行播放,下面把这几个方案的优缺点说明一下

====Vlc

优点:

1,支持的操作系统比较全 (XP~WIN10)

2,支持的媒体格式比较多

缺点:

没有原生WPF控件,只能使用Host方式嵌入Vlc Player,增加了UI控制难度,并且在XP系统上运行的时候出现画面闪动的现象

思考:

把客户端的播放方案整体替换为Vlc,统一体验

====ffmediaelement

优点:

1,在应用层进行解码,定制度高  

2,提供原生WPF控件,UI定制度高

3,支持的操作系统比较全 (XP~WIN10)

缺点:

播放不流畅,难以忍受(哈哈,最基本的播放没做好,虽然其他做的很好)

====wpf-mediakit

优点:

提供原生WPF控件,UI定制度高

缺点:

XP下,需要自己写vmr7解码器

====Cef

由于升级过程中,出现了跨线程调用的问题,终止调查

原文地址:https://www.cnblogs.com/shenchao/p/8403550.html