问题描述:
qt中开发重播模块时,第一次在窗口正常播放,点击重播按钮后会弹出新的Direct3D output窗口播放视频

分析:
因为libvlc_media_player_set_hwnd 这个函数 设置了不存在的窗口句柄,导致vlc视频播放窗口没有嵌入 你设置的窗口,所以看上去是一个弹出的Direct3D output;
检查你传入的窗口句柄是否为有效的窗口句柄,qt 下使用 HWND hWnd = (HWND)(wid->winId()); 够获取窗口句柄。

解决:
将代码中m_vlcPlayer->setLocalFile(fileName,nullptr);
改为m_vlcPlayer->setLocalFile(fileName,(void *)ui->videoWidget->winId());
Qt报错:libvlc开发的程序,出现Direct3D output全屏窗口插图

本站无任何商业行为
个人在线分享 » Qt报错:libvlc开发的程序,出现Direct3D output全屏窗口
E-->