From 8b7bf238add52ab911a4619880062b682b534572 Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Tue, 28 Oct 2025 17:28:56 +0100 Subject: [PATCH] Music Player: add stop button --- .../assets/music_player.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/internal_filesystem/apps/com.micropythonos.musicplayer/assets/music_player.py b/internal_filesystem/apps/com.micropythonos.musicplayer/assets/music_player.py index 0bb69fcf..9a23595f 100644 --- a/internal_filesystem/apps/com.micropythonos.musicplayer/assets/music_player.py +++ b/internal_filesystem/apps/com.micropythonos.musicplayer/assets/music_player.py @@ -32,7 +32,7 @@ class MusicPlayer(Activity): event_code = event.get_code() if event_code not in [2,19,23,24,25,26,27,28,29,30,31,32,33,47,49,52]: name = mpos.ui.get_event_name(event_code) - print(f"file_explorer_event_cb {event_code} with name {name}") + #print(f"file_explorer_event_cb {event_code} with name {name}") if event_code == lv.EVENT.VALUE_CHANGED: path = self.file_explorer.explorer_get_current_path() clean_path = path[2:] if path[1] == ':' else path @@ -52,6 +52,8 @@ class FullscreenPlayer(Activity): _filename_label = None _slider_label = None _slider = None + _stop_button = None + _stop_button_label = None # Internal state: _filename = None @@ -79,6 +81,11 @@ class FullscreenPlayer(Activity): self._filename_label.add_event_cb(lambda e, obj=self._filename_label: self.focus_obj(obj), lv.EVENT.FOCUSED, None) self._filename_label.add_event_cb(lambda e, obj=self._filename_label: self.defocus_obj(obj), lv.EVENT.DEFOCUSED, None) self._filename_label.set_long_mode(lv.label.LONG_MODE.SCROLL_CIRCULAR) + self._stop_button = lv.button(qr_screen) + self._stop_button.align(lv.ALIGN.BOTTOM_MID,0,0) + self._stop_button.add_event_cb(self.stop_button_clicked,lv.EVENT.CLICKED,None) + self._stop_button_label = lv.label(self._stop_button) + self._stop_button_label.set_text("Stop") focusgroup = lv.group_get_default() if focusgroup: @@ -92,7 +99,7 @@ class FullscreenPlayer(Activity): else: print("Starting thread to play file {self._filename}") AudioPlayer.stop_playing() - time.sleep(1) + time.sleep(0.1) _thread.stack_size(mpos.apps.good_stack_size()) _thread.start_new_thread(AudioPlayer.play_wav, (self._filename,)) @@ -102,3 +109,7 @@ class FullscreenPlayer(Activity): def defocus_obj(self, obj): obj.set_style_border_width(0, lv.PART.MAIN) + + def stop_button_clicked(self, event): + AudioPlayer.stop_playing() + self.finish()