2017-09-28 15 views
0

私はwxPythonを利用してフォトフレームアプリケーションを作成しようとしています。ビデオと写真を見るために、私はwx.mediaを使い始めましたが、gstreamerのバックエンドが不十分であることがわかりました。そこで私はmplayerctrlに目を向け、Python3/Phoenixに移植しました。私がそれを動作させるために苦労してきたのは、ムービーがフレーム内で再生されるようにプログラムでウィンドウIDをmplayerに渡すことです。私はxwininfoからウィンドウIDを取得したらGetHandle()を返し、0を返し、GetGtkWidget()を使用すると値を返しますが、その値はウィンドウIDに対応していないことを確認しました。 mplayerctrlの株式バージョンは、self.Handleを使用していました。 https://docs.wxpython.org/wx.Window.htmlwxPythonウィンドウID

私はLinuxで動作するソリューションを探していますが、うまくいけば他のプラットフォームにも移植可能です。また、理想的には、このソリューションはwxPython/Pythonネイティブです。私はあなたがあまりにも早くhandleを設定しようとしていると信じている

おかげ

+0

self.panel1.GetHandle()はwxpython classicを使ってlinux上でgstreamer1.0とvlcの両方で動作します。私はそれが変わったはずの理由を見ない。 –

+0

それ以外の場合は – dvrhax

+0

が表示されます。http://wxpython-users.1045709.n5.nabble.com/GetHandle-example-td5726968.html –

答えて

0


初期化ルーチンの一部としてhandleを開始していると思われます。プレイするビデオを選択してその時点でself.xxxxx.GetHandle()を使用するまで待機する必要があることがわかりました。プレイヤーに再生を依頼するアイテムごとにその機能を実行します。
私はこれをpython 3.5.2 wxpython 4.0.02b Linux Mint 18.2でテストし、Vlcを使用しています。
GetHandleが有効な値を返す前にMainLoopが開始されている必要があるようです。

関連する問題