Согласно документации Kivy 2.0.0 звук, скорее всего, не будет искаться, если его сначала не воспроизвести. Однако я вообще не могу заставить его искать с помощью этого простого кода в Windows 11. Он всегда воспроизводится с начала, и позиция всегда равна 0,
from kivy.core.audio import SoundLoader
from kivy.clock import Clock
sound = SoundLoader.load('test.mp3')
def play():
sound.play()
sound.seek(5)
print(sound.get_pos())
if sound:
print("Sound found at %s" % sound.source)
print("Sound is %.3f seconds" % sound.length)
#Clock.schedule_once(play, .3)
play()
Кроме того, я попытался запланировать задержку с помощью Clock, но звук вообще не воспроизводится. Чего мне не хватает?
Изменить:
Было предложено, чтобы этот код работал в приложении. Это решило проблему с задержкой часов, но игрок по-прежнему не будет искать вперед,
from kivy.core.audio import SoundLoader
from kivy.clock import Clock
from kivy.app import App
from kivy.uix.button import Button
class MainApp(App):
sound = SoundLoader.load('test.mp3')
def build(self):
return Button(text='Play', on_press = self.clock)
def clock(self, evt):
Clock.schedule_once(self.play, 1)
def play(self, evt):
self.sound.play()
self.sound.seek(5)
#self.sound.play()
print(self.sound.get_pos())
MainApp().run()
Подробнее здесь: https://stackoverflow.com/questions/700 ... eek-win-11