Phonon VideoWidget エラー:「ビデオウィジェットを正しく初期化できませんでした」
質問
PyQt メーリング リストでこの質問をしましたが、返答が得られなかったので、ここで運試ししてみます。
イライラする問題が発生しました (Windows のみ)。VideoWidget インスタンスを作成しようとすると、「ビデオ ウィジェットを正しく初期化できませんでした」というエラー メッセージが表示されます。奇妙なことに、これは、2 つの別々の Windows ボックス (1 つは Vista、もう 1 つは Parallels 経由で実行されている XP イメージ) で数週間完璧に動作させた後、コード内で表面化しました。原因となったような環境の変化はわかりません。
私は Python 2.6 と PyQt 4.5.4 Windows インストーラーを使用しています。この問題は昨年 11 月に提起されましたが、解決策は提供されていませんでした。
http://www.riverbankcomputing.com/pipermail/pyqt/2008-April/021029.html
私のグーグル検索では、これが何が原因であるかについての説明は見つかりませんでした。誰か手がかりを教えてもらえますか?
解決 2
私自身の質問に答えるのは嫌ですが、もし他の人がこれに遭遇したら:
この問題に対する解決策は、結局ハードウェア固有のものになりました。Phonon は、特定の仮想マシン (私の場合は Parallels) のビデオ ドライバーに問題があるようです。物理ハードウェアでは問題は発生しません。私が見つけた回避策はありません。
他のヒント
そのメッセージを生成するコードは次のとおりです。 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 の戻り値を調べることもできますが、システム上の変更に関連しているようで、これ以上解決する方法がわかりません。幸運を。