libvlc+qt 通过rtsp播放视频,在视频窗口点击鼠标进行操作无响应。
解决方法:
.h修改
private:
//解决播放视频窗口,响应鼠标事件失效
QTimer *timer; //定义定时器
HWND parentwnd; //准备窗口的句柄
private slots:
void timerproc(); //定义定时器的槽函数
.cpp修改
parentwnd = (HWND)this->winId(); //获取父窗口句柄
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(timerproc()));
BOOL CALLBACK EnumerateVLC(HWND hWndvlc, LPARAM lParam)
{
EnableWindow(hWndvlc, FALSE);
// And kill timer, i only need get this handle one time.
return TRUE;
}
void frmMain::timerproc()
{
if (!parentwnd)
{
return;
}
EnumChildWindows(parentwnd, EnumerateVLC, NULL);
timer->stop();
}
在视频开始预览出添加
timer->start();