Я пытаюсь реализовать медиаплеер Bluetooth. Всякий раз, когда музыка c ставится на паузу, я хочу, чтобы кнопка сменилась на кнопку «Воспроизведение», а когда музыка играет c, я хочу, чтобы кнопка сменилась на кнопку «пауза».
Я создал пользовательский класс PButton
, который соответствует суперклассам ToggleButtonBehavior и Image, и когда я нажимаю кнопку, он изменяется, поэтому я знаю, что функции переключения и источник обоих изображений верны. Однако, когда я приостанавливаю работу musi c на моем телефоне, я вижу, что источник изменился (журнал консоли), но изображение на экране не изменилось ?? Вот некоторый код:
class PButton(ToggleButtonBehavior, Image):
def __init__(self, **kwargs):
super(PButton, self).__init__(**kwargs)
self.source = 'iconFolder/png/012-play.png'
def on_state(self, widget, value):
if value == 'down':
self.source = 'iconFolder/png/011-pause.png'
else:
self.source = 'iconFolder/png/012-play.png'
class MainScreen(Screen):
pImage = PButton()
def update(self, *args):
if musicObject.isPlaying == "playing":
self.pImage.source = 'iconFolder/png/011-pause.png'
else:
self.pImage.source = 'iconFolder/png/012-play.png'
def __init__(self, **kwargs):
super(MainScreen, self).__init__(**kwargs)
Clock.schedule_interval(self.update, 1)
class JasmineApp(App):
def build(self):
return kv
if __name__ == "__main__":
JasmineApp().run()
Пожалуйста, дайте мне знать, если вам нужно что-нибудь еще. Заранее спасибо.