使用自定义叠加图形播放视频

时间:2010-12-17 18:36:01

标签: qt video video-streaming overlay phonon

我想在一个带有“播放”和“停止”按钮等的简单GUI中播放视频(带声音)。在Qt的Phonon模块中有类和小部件可以做到这一点,以及几个例子。好的,这似乎很简单。

但现在我需要在流式视频图像的顶部绘制一些自定义图形(取决于视频中的当前时间)。我在Qt文档中没有发现任何相关内容。这样做的规范方法是什么?我只是创建一个自定义VideoWidget小部件并覆盖其paintEvent?在这里的另一个问题中,有些人似乎遇到了麻烦。

任何指针都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

使用QGraphicsView和QGraphicsWidgets。您可以将Phonon :: VideoWidget放在QGraphicsProxyWidget中,它可以用作QGraphicsWidget。

对于自定义叠加层,继承QGraphicsWidget并覆盖绘制函数以绘制自定义窗口小部件。您可以将它们添加到场景中,它们将显示在视频窗口小部件的顶部。

答案 1 :(得分:1)

您的解决方案无效,因为您无法将QGLWidget添加到QGraphicsProxyWidget。请看 http://doc.qt.digia.com/qt/qgraphicsproxywidget.html

  

请注意,设置了Qt::WA_PaintOnScreen窗口小部件属性的窗口小部件   包装外部应用程序或控制器的小部件不能   嵌入式。示例包括QGLWidgetQAxWidget

如果我错了,请纠正我。