【问题标题】:Phonon VideoWidget error: "the video widget could not be initialized correctly"Phonon VideoWidget 错误:“视频小部件无法正确初始化”
【发布时间】:2010-11-20 10:27:35
【问题描述】:

我在 PyQt 邮件列表上问了这个问题,但没有得到任何回复,所以我会在这里碰碰运气。

我遇到了一个令人沮丧的问题(仅在 Windows 上):尝试创建 VideoWidget 实例时,我收到错误消息“无法正确初始化视频小部件”。奇怪的是,经过几周的完美运行后,这才出现在代码中,在两个单独的 Windows 机器上(一个是 Vista,另一个是通过 Parallels 运行的 XP 映像)。我不知道可能导致它的环境发生了任何变化。

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

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

我的谷歌搜索没有找到任何可能导致这种情况的解释。谁能帮我解答一下?

【问题讨论】:

    标签: python qt pyqt phonon


    【解决方案1】:

    生成该消息的代码位于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;
     }
    

    Filter 是 ComPointer<IBaseFilter> 类型,它的构造函数进行了以下失败调用(操作符调用返回 m_t,它被分配给上面的 m_filter):

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

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

    【讨论】:

      【解决方案2】:

      讨厌回答我自己的问题,但如果其他人遇到这个问题:

      这个问题的解决方案最终是特定于硬件的。 Phonon 似乎对特定虚拟机的视频驱动程序有问题 - 在我的情况下是 Parallels。物理硬件没有出现问题。我找不到任何解决方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-06
        • 1970-01-01
        • 1970-01-01
        • 2021-12-13
        • 1970-01-01
        相关资源
        最近更新 更多