ОК, поэтому я пишу приложение, которое воспроизводит музыку с привязками pyGST.
Это требует использования потоков для обработки воспроизведения. Библиотека привязок обрабатывает большую часть управления потоками для меня, что приятно (и то, что я искал в них).
Теперь я не совсем разбираюсь в этой концепции, поэтому я бы с нетерпением ждал некоторых ссылок. Но, насколько я понимаю, я должен сообщить приложению, что оно может использовать несколько потоков.
Я взял это из примеров на сайте gstreamer, где они используют этот вызов:
gtk.gdk.threads_init()
gtk.main()
в соответствии с здесь , это говорит о том, что приложение может использовать несколько потоков (более или менее), отсюда и моё предположение.
Это фон. Теперь возьми это. Я поместил эти строки в мой код, и они работают нормально. Мое приложение воспроизводит музыку, а не падает, когда пытается. Но что-то не так.
В примерах, из которых я получил эти строки, они используют gtk для всего графического интерфейса, но я хочу использовать wxWidgets, поэтому неправильно вызывать эту функцию gtk для этого.
Есть ли эквивалент wx этому? или это нормально использовать, и он все еще будет работать кроссплатформенно?
Кроме того, я должен выяснить, как убить все эти потоки при выходе (чего он сейчас не делает). Я вижу, как они делают это в примере, снова используя метод gtk, и снова, ища эквивалент wx. ,
PS: я думаю, что это (или решение) может быть связано с функцией wx.App.MainLoop (), но я теряюсь, пытаясь понять, как работает этот цикл, поэтому, опять же, хорошие ссылки по этому поводу были бы оценены , но я полагаю, что нет необходимости, если у меня есть хорошее решение.