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

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

  • 相关阅读:
    数字资产交易所记录
    How to decode input data from a contract transaction without ABI?
    【收藏】ETH以太坊各个环境的公共的RPC服务!!!
    Solidity知识点集 — 溢出和下溢
    docker run 与docker start的区别
    子网掩码计算192.168.1.0/24 24 / 11
    Solidity-让合约地址 接受ETH的转账充值的 三种方式
    echarts的散点图
    debug.js中的length的错误
    26个工具类
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/15439584.html
Copyright © 2011-2022 走看看