Я создаю приложение метронома с KIVY. Поскольку галочки должны быть точно на месте, я столкнулся с множеством проблем.
Я запланировал часы как «свободные» события:
Config.set('kivy', 'kivy_clock', 'free_all')
Config.write()
Clock.schedule_once_free(self.callback, self.delay)
Если я прослеживаю время обратных вызовов, все они великолепны.
Виджеты обновляются в этих обратных вызовах, и они только на точке.
Но если я воспроизведу звук в начале обратного вызова, он будет выполняться с разными задержками каждый раз. Таким образом, звук не относится к предполагаемому ударов в минуту.
У разных Sound-загрузчиков разное поведение:
«SoundPygame» не имеет задержки, но не может быть использован для Android (отсутствует поддержка Pygame)
Некивиальный модуль «play sound» прекрасно работает, но его нельзя использовать с buildozer из-за отсутствия модуля «gi».
«SoundSDL2» используется по умолчанию и не работает для этой задачи.
sound_norm = SoundPygame(source='sounds/tick.wav')
def callback(self, dt):
self.sound_norm.play()
Есть ли способ воспроизвести звук на андроиде с помощью kivy без задержек на основе событий?
Это мой первый вопрос здесь, поэтому, пожалуйста, извините, если я спросил что-то не так или мне нужно улучшить мой вопрос.
С наилучшими пожеланиями!