Kivy 音频跳转不正确

0 投票
1 回答
858 浏览
提问于 2025-04-18 08:36

当我尝试使用 kivy.core.audio 模块的 seek 函数时,出现了这个错误:

File "./controller.kv", line 32, in < module >
on_press: root.action_play()
File "main.py", line 37, in action_play
self.sound.seek('30')
File "/usr/lib/python2.7/dist-packages/kivy/core/audio/audio_gstplayer.py", line 79, in seek
self.player.seek(position / self.duration)
AttributeError: 'SoundGstplayer' object has no attribute 'duration'

这是我的函数代码:

def action_play(self):
    self.label_wid.text = 'Sound played: ' + self.sound.source
    self.sound.seek('30')
    self.sound.play() 

我尝试以这种方式编辑文件 core/audio/audio_gstplayer.py

def seek(self, position):
    self.player.seek(position / self.duration)

通过:

def seek(self, position):
    self.player.seek(position / self.get_length)

但是没有成功……
如果你有解决这个问题的方法,让 seek 函数正常工作,我很感兴趣。

1 个回答

2

看起来这个问题在开发中已经修复了。你可以等下一个版本(1.8.1)发布,或者你也可以从GitHub上安装开发版本

另外,self.sound.seek('30') 应该改成 self.sound.seek(30),因为 seek 这个函数需要一个整数(int),而不是字符串(str)。

撰写回答