代码之家  ›  专栏  ›  技术社区  ›  Daniel Naab

Phonon VideoWidget错误:“无法正确初始化视频小部件”

  •  0
  • Daniel Naab  · 技术社区  · 17 年前

    我遇到了一个令人沮丧的问题(仅在Windows上):当尝试创建VideoWidget实例时,我收到错误消息“VideoWidget无法正确初始化”。奇怪的是,经过几周的完美操作后,这一点才出现在代码中,在两个单独的Windows设备上(一个是Vista,另一个是通过并行运行的XP映像)。我不知道可能是环境发生了什么变化造成的。

    我正在使用Python 2.6和PyQt 4.5.4 Windows安装程序。我注意到去年11月提出了这个问题,但没有提供解决方案:

    http://www.riverbankcomputing.com/pipermail/pyqt/2008-November/021029.html

    我的谷歌搜索没有找到任何可能导致这种情况的解释。有人能给我提供线索吗?

    2 回复  |  直到 17 年前
        1
  •  3
  •   Kaleb Pederson    17 年前

    生成该消息的代码位于中 3rdparty/phonon/ds9/videorenderer_vmr9.cpp :

    m_filter = Filter(CLSID_VideoMixingRenderer9, IID_IBaseFilter);
    if (!m_filter) {
        qWarning("the video widget could not be initialized correctly");
        return;
     }
    

    过滤器类型为 ComPointer<IBaseFilter> 并且它的构造函数进行以下失败调用(操作符调用返回分配给上面的m_filter的m_t):

    ::CoCreateInstance(clsid, 0, CLSCTX_INPROC_SERVER, iid,
                    reinterpret_cast<void**>(&m_t));
    

    因此,它在Windows API调用中失败。您可以修改源代码以找出CoCreateInstance的返回值是什么,以便找出原因,但它似乎与您的系统上的更改有关,我不知道如何进一步提供帮助。祝你好运

        2
  •  0
  •   Daniel Naab    16 年前

    我不想回答我自己的问题,但如果其他人遇到这种情况:

    解决这个问题的方法最终是针对硬件的。声子似乎和特定虚拟机的视频驱动程序有问题——在我的例子中也是如此。物理硬件不会出现问题。我找不到解决办法。

    推荐文章