最近在使用Qt封装播放器。播放器在封装D2D的时候出了问题。主要问题为渲染的时候大部分时候是白色的,有小部分时间可以看到渲染出画面。
实际上,如果要使用Qt封装底层的渲染引擎,需要重写函数paintEngine() 返回空
/* WA_PaintOnScreen: To render outside of Qt's paint system, e.g. If you require * native painting primitives, you need to reimplement QWidget::paintEngine() to * return 0 and set this flag * 重要, 否则画面闪烁,无法渲染!!! */ QPaintEngine* paintEngine() const Q_DECL_OVERRIDE { return nullptr; }
代码就不放了,可以参考别人的开源大作:QtAV