本文主要是介绍Qt报错:libvlc开发的程序,出现Direct3D output全屏窗口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
在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全屏窗口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!