• 4792阅读
  • 11回复

视频窗口尺寸有误差 [复制链接]

上一主题 下一主题
离线sd1332613
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2021-04-28
winfrom(c#)开发,aplayer全屏播放的时候,影片尺寸上下左右有误差,大概5-6个像素。其余第三方播放器全屏播放正常无误差。影片是根据显示屏分辨率1:1输出的,不存在比例不一致问题或者未铺满问题。
winfrom窗口为无边框,padding=0。player = new APlayerHelper(this.Handle, 0, 0, this.Width, this.Height);

困扰我三天了,一直没找到原因和解决方法,求助各位大佬!感激不尽!
离线aplayer

只看该作者 沙发  发表于: 2021-05-02
你需要设置 APlayer 的大小为其父窗口的 ClientWidth, ClientHeight,而不是直接 Width, Height,客户区的大小比窗口大小要小。
离线sd1332613

只看该作者 板凳  发表于: 2021-05-06
回 aplayer 的帖子
aplayer:你需要设置 APlayer 的大小为其父窗口的 ClientWidth, ClientHeight,而不是直接 Width, Height,客户区的大小比窗口大小要小。
 (2021-05-02 04:05) 

this.width   this.height  中的this就是父窗口
离线sd1332613

只看该作者 地板  发表于: 2021-05-06
回 aplayer 的帖子
aplayer:你需要设置 APlayer 的大小为其父窗口的 ClientWidth, ClientHeight,而不是直接 Width, Height,客户区的大小比窗口大小要小。
 (2021-05-02 04:05) 

设置为父窗口的clientWidth  clientHeight是一样的情况。
离线aplayer

只看该作者 4楼 发表于: 2021-05-07
回 sd1332613 的帖子
sd1332613:设置为父窗口的clientWidth  clientHeight是一样的情况。 (2021-05-06 15:44)

你可以用 Spy++ 抓取窗口看下你包含 APlayer 的窗口到最外层窗口的整个窗口链,哪个部分尺寸或窗口风格(带边框的风格会导致有边框)不对,再调整之。
离线sd1332613

只看该作者 5楼 发表于: 2021-05-08
感觉不是窗口风格问题。因为影片不是规则的上下左右偏移固定像素,而是有的地方越界,有的地方又是刚刚好。所以感觉是播放超高分辨率的影片产生了局部变形。这个应该是不好调回来了。
我已经放弃了,换了传统axWindowsMediaPlayer。感谢您的回复!
离线sd1332613

只看该作者 6楼 发表于: 2021-05-15
axWindowsMediaPlayer解码能力限制太大了!!视频稍微大点儿就闪退或者只播放两秒.....

还是aPlayer功能比较齐全,除了超大分辨率变形这个问题以外其余用着都很顺手。
各位大佬快帮忙想想办法吧,感激不尽!
离线aplayer

只看该作者 7楼 发表于: 2021-05-18
回 sd1332613 的帖子
sd1332613:axWindowsMediaPlayer解码能力限制太大了!!视频稍微大点儿就闪退或者只播放两秒.....
[表情] [表情] [表情]
还是aPlayer功能比较齐全,除了超大分辨率变形这个问题以外其余用着都很顺手。
各位大佬快帮忙 .. (2021-05-15 23:18) 

你尝试换一个渲染模式看看,比如 EVR。
离线sd1332613

只看该作者 8楼 发表于: 2021-05-21
回 aplayer 的帖子
aplayer:你尝试换一个渲染模式看看,比如 EVR。 (2021-05-18 00:53) 

万分感谢!按照这个操作问题得到解决!!
离线chungbin

只看该作者 9楼 发表于: 2021-06-14
我一直默认就配置为EVR了,居然没发现其它渲染模式有问题,感谢各位大佬让我又少一个弯路
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个