H265流媒体播放器EasyPlayerPro如何获取当前屏幕分辨率?

VR正在改变我们生活、社交和工作方式。今天的消费者正在寻找体验,经过近几年的研究,我们知道VR有能力在未来的学习和发展中发挥巨大的作用。TSINGSEE青犀视频开发的EasyPlayerPro作为一款专业播放器,在VR播放扮演了重要的角色。

应我们开发者的要求,我们现在一个项目中需要做一个VR播放器,基于EasyPlayerPro进行改造,因为用户使用的不是标准的显示器,而是用电视机拼接的电视墙,我这边使用MFC自带的 ShowWindow(SHOW_FULLSCREEN),达不到预期的效果,如下图所示,在项目中,播放器并不能根据屏幕的大小全屏显示:

该开发者要求全屏,但项目中使用的是拼接屏,所以我们找寻了一些全屏的方法,主要方式就是需要获取该屏幕的分辨率,然后赋值屏幕分辨率达到播放器全屏展示的目的。我们首先尝试了通过各种系统api获取屏幕分辨率,都没成功,随后到网上搜索了一些解决方法,发现可以从代码层面进行修改,就能够获取此类拼接屏幕的分辨率。

参考代码如下:

HMONITOR monitor = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST);

MONITORINFO info;

info.cbSize = sizeof(MONITORINFO);

GetMonitorInfo(monitor, &info);

int monitor_width = info.rcMonitor.right - info.rcMonitor.left;

int monitor_height = info.rcMonitor.bottom - info.rcMonitor.top;

在该问题中,获取到的屏幕分辨率为SetWindowPos(NULL, 0, 0, 7688, 4328, 0),我们将该值手动复制到播放器中,即可解决播放器在最大化状态下的全屏问题:

效果如下所示,播放器可直接占满全屏:

 

posted on 2021-10-22 16:27  TSINGSEE  阅读(97)  评论(0编辑  收藏  举报