OK、私はpyGSTバインディングで音楽を再生するアプリを書いています。wxのpythonアプリケーションのスレッドとpyGSTを使用
再生を処理するには、スレッドを使用する必要があります。バインディングライブラリは、私のためのスレッドコントロールのほとんどを処理します。これは素晴らしい(そして私が探していたものです)。
今、私はこのコンセプトを十分に理解していないので、いくつかの参考文献を熱望しています。しかし、私がそれを理解する方法は、基本的にそれが複数のスレッドを使用できることをアプリに通知する必要があるということです。
私は、彼らがこのコールを使用しgstreamerのサイト上でexamplesからこれを収集:hereに応じ
gtk.gdk.threads_init()
gtk.main()
、これはそれが複数のスレッド(多かれ少なかれ)を、使用することができるアプリを伝えます私の上記の仮定はから来た。
これは背景です。今これを入手してください。私はそれらの行を自分のコードに入れて、うまく動作します。私のアプリは、試してみるたびにクラッシュするのではなく、音楽を再生します。しかし、何かが正しく感じられません。
これらの行を取得した例では、GUI全体でgtkを使用していますが、wxWidgetsを使用したいので、gtk関数を呼び出すのが間違っていると感じます。
これに相当するwxはありますか?またはこれを使用しても問題ないですが、それでもクロスプラットフォームで動作しますか?
また、これらのスレッドを終了時にすべて終了させる方法を理解しておく必要があります(これは現在ではありません)。gtkメソッドを使用した例では、同等。
PS:これは、wx.App.MainLoop()関数に関連している可能性がありますが、このループの仕組みを理解しようとすると失われてしまいます。私は良い解決策を持っている限り、私は必要ではないと思います。
私はそれを解決すると思います。 gtkメソッドまたはgobjectメソッドを使用すると違いはないことを意味します。しかしまあまあ。 – gnomed