Pyfoobar के साथ एक संख्या में गाने की लंबाई बदलना - पायथन

फोबार के साथ अब स्क्रिप्ट खेलने का प्रयास करते समय pyfoobar, मैं वर्तमान ट्रैक की लंबाई, एक स्ट्रिंग को नियमित पूर्णांक में बदलने की कोशिश कर रहा हूं।

from pyfoobar import foobar
import time

fb2k = foobar()
while(fb2k.isPlaying()==True):
fb2k.playRandom()
length=fb2k.lengthOfTrack()
minute=int(length[0])*60
second=int(length[2:])
length=(minute+second)-1
print "Now Playing: "+fb2k.getCurrentArtist()+" - "+fb2k.getCurrentTrack()
time.sleep(length)

प्रत्येक नए ट्रैक के साथ अद्यतन करने के लिए, मैं वर्तमान ट्रैक में सेकंड की संख्या से देरी लूप का उपयोग कर रहा हूं। संकलन करते समय, मुझे निम्न त्रुटि मिलती है:

Traceback (most recent call last):
File "C:Users00Downloadspyfoobarpyfoobarplaying.py", line 8, in <module>
minute=int(length[0])*60
IndexError: string index out of range

वहां शायद कुछ स्पष्ट है जो मैं याद कर रहा हूं, लेकिन मैं यह नहीं ढूंढ सकता कि त्रुटि क्या तय कर रही है, विशेष रूप से क्योंकि लंबाई की गणना करने वाली रेखाएं सेकंड की सही संख्या लौटाएंगी।

उत्तर:

उत्तर № 1 के लिए 1

क्या आपको यकीन है playRandom तुल्यकालिक है? आपने परीक्षण किया isPlaying कॉल करने से पहले lengthOfTrack, लेकिन शायद कॉल करने के बाद playRandom (और इसे निष्पादित करने से पहले) isPlaying झूठा है, तो lengthOfTrack कुछ अपरिभाषित वापस आ जाएगा। मुझे COM के साथ कोई अनुभव नहीं है, इसलिए शायद मैं कुछ बेवकूफ कह रहा हूं, लेकिन पहली चीज़ जो मैं कोशिश करता हूं वह फिर से जांचना है isPlaying लूप के अंदर फिर से।


संबंधित सवाल
सबसे लोकप्रिय