我在我的项目中实现 VLC 播放器时遇到了一些麻烦。我需要使用 QgraphicsView (基本上是画布)覆盖视频,这样我才能画出东西。我试过这样做:
- 将 winId 指针指向 QgraphicsView。视频渲染得很好,但它渲染在对象的顶部,所以我的图形项目在视频层下。=> 失败
- 创建新的 QGraphics 对象作为我的主要 QGraphics 对象的子对象,然后将视频呈现给该子对象。结果与上述相同。=> 失败
- 使用我的 QGraphicsView(相同的位置和大小)覆盖 QWidget 与渲染的视频。我已经设置了透明背景,所以我可以看到覆盖的小部件,但该层下的视频不会呈现。我保持白色,但我能听到它在播放。=> 失败
我在这个论坛上读到,有人提取每一帧,并将其设置为对象的像素图。我看到了代码,但很遗憾,我不明白,因为我不是 C++ 专业人士 :( 我正在为 Qt (PySide) 和 VLC 使用 Python 绑定。请帮忙,这真的让我很困扰 :(
http://forum.videolan.org/viewtopic.php?f=32&t=68816&p=228645