Не могу получить длину музыки в wxpython

Я пытаюсь создать музыкальный проигрыватель, используя wxpython, mPlayerCtrl. Но у меня проблема с получением длины добавленной музыки. Я пытался:

self.mplayer.Length()

когда я использую .Length(), это дает ошибку

AttributeError: объект «MplayerCtrl» не имеет атрибута «Длина»

self.mplayer.length()

И когда я использую .length(), это дает ошибку

TypeError: объект «NoneType» не может быть вызван

t_len = self.mplayer.GetTimeLength()
self.playbackSlider.SetRange(0, t_len)

Это дает ошибку

TypeError: Slider.SetRange(): аргумент 2 имеет неожиданный тип «NoneType»

мой код ниже

if dlg.ShowModal() == wx.ID_OK:
        path = dlg.GetPath()
        self.currentFolder = os.path.dirname(path[0])
        trackPath = '"%s"' % path.replace("\\", "/")
        self.mplayer.Loadfile(trackPath)
        t_len = self.mplayer.GetTimeLength()
        self.playbackSlider.SetRange(0, t_len)
        self.playbackTimer.Start(100.0)

person Md Toufique    schedule 03.01.2018    source источник


Ответы (1)


Вам может понадобиться вызвать GetProperty, чтобы получить длину мультимедиа:

length = self.mplayer.GetProperty('length')

Полный список свойств см. здесь

person Artem    schedule 03.01.2018
comment
GetProperty() возвращает тип None - person Md Toufique; 03.01.2018
comment
@MdToufique Я подозреваю, что вам нужно будет запустить видео ДО звонка length = self.mplayer.GetProperty('length'), если только mplayer не экстрасенс :) - person Rolf of Saxony; 03.01.2018
comment
ооо хорошо .. спасибо :) - person Md Toufique; 04.01.2018