【问题标题】:Play a video with custom overlay graphics播放带有自定义叠加图形的视频
【发布时间】:2010-12-17 18:36:00
【问题描述】:

我想在带有“播放”和“停止”按钮等的简单 GUI 中播放视频(带声音)。Qt 的 Phonon 模块中有用于执行此操作的类和小部件,还有几个示例。好的,看起来很简单。

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

任何指针将不胜感激。

【问题讨论】:

    标签: qt video video-streaming overlay phonon


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      请注意,带有Qt::WA_PaintOnScreen 小部件属性集的小部件 包装外部应用程序或控制器的小部件不能 嵌入。例如QGLWidgetQAxWidget

      如果我错了,请纠正我。

      【讨论】:

      • 我实现这个已经有一段时间了,我现在无法访问代码。但我可以向你保证,我确实解决了它。据我记得,我确实按照接受的答案中的描述解决了它,但我可能错了。
      • 感谢您快速回复塞巴斯蒂安。我很高兴在这里它对你有用。是否认为有可能在下一次访问代码并将其(或只是重要的 sn-p)添加到这篇文章中?
      • 我想这里的每个人都会很感兴趣,看看这是怎么做到的
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      • 2013-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多