zoukankan      html  css  js  c++  java
  • 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),我们将该值手动复制到播放器中,即可解决播放器在最大化状态下的全屏问题:

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

  • 相关阅读:
    阿杜复博通知
    vim 配置文件 ,高亮+自动缩进+行号+折叠+优化
    网络课设总结(五)——利用CAsyncSocket进行异步通信
    网络课设总结(四)——利用CAsyncSocket进行异步通信
    网络课设总结(三)——VC++应用技巧
    ubuntu11.10下配置adsl上网
    反省
    cp命令“d”参数解释及实例
    网络课设总结(二)——VC开发环境
    SharePoint中如何获得当前用户的loginName
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/15439584.html
Copyright © 2011-2022 走看看