diff --git a/applications/external/music_tracker/tracker_engine/speaker_hal.c b/applications/external/music_tracker/tracker_engine/speaker_hal.c index 208fee04c..0a506a424 100644 --- a/applications/external/music_tracker/tracker_engine/speaker_hal.c +++ b/applications/external/music_tracker/tracker_engine/speaker_hal.c @@ -40,12 +40,17 @@ void tracker_speaker_stop() { } void tracker_speaker_init() { - furi_hal_speaker_start(200.0f, 0.01f); - tracker_speaker_stop(); + if(furi_hal_speaker_is_mine() || furi_hal_speaker_acquire(1000)) { + furi_hal_speaker_start(200.0f, 0.01f); + tracker_speaker_stop(); + } } void tracker_speaker_deinit() { - furi_hal_speaker_stop(); + if(furi_hal_speaker_is_mine()) { + furi_hal_speaker_stop(); + furi_hal_speaker_release(); + } } static FuriHalInterruptISR tracker_isr; @@ -99,4 +104,4 @@ void tracker_debug_set(bool value) { void tracker_debug_deinit() { furi_hal_gpio_init(&gpio_ext_pc3, GpioModeAnalog, GpioPullNo, GpioSpeedLow); -} \ No newline at end of file +}