目录
使用libvlc播放视频时,鼠标放到播放器窗口后会自动小时,且无法相应消息,消息被libvlc内部处理了,可以借助windows平台解决。具体为:再播放视频前创建一个定时器,再定时器函数里处理窗口消息禁用与处理,简单来说就是播放视频时禁用libvlc内部消息机制。具体操作如下:
1、首先重写双击事件
void MainWidget::mouseDoubleClickEvent(QMouseEvent* event)
{
if (this->isFullScreen())
{
this->showNormal();
}
else
{
this->showFullScreen();
}
}
2、在播放函数或者打开视频文件的函数中创建定时器
UINT_PTR SetTimer(
HWND hWnd, // 窗口句柄,可以为NULL
UINT_PTR nIDEvent,// 定时器标识符,用于区分多个定时器
UINT uElapse,// 定时器时间间隔

当使用libvlc播放视频,鼠标悬停在播放器上会自动隐藏且无法响应消息。为了解决这个问题,可以在播放前设置定时器,通过定时器回调函数处理窗口消息,禁用libvlc内部的消息机制。主要步骤包括重写双击事件以控制全屏显示,以及使用SetTimer创建定时器并配合EnumWindows和EnableWindow函数来禁用播放器窗口的交互。
最低0.47元/天 解锁文章
4819

被折叠的 条评论
为什么被折叠?



