ich versuche Sounddateien, die alle dasselbe Tempo haben, im Takt zu überblenden. Hierfür habe ich mir folgende Clock gebastelt:
Code: Alles auswählen
class clockStarter(threading.Thread) :
def __init__(self, timeStep):
threading.Thread.__init__(self)
self.theTimeStep = timeStep #timeStep ist die Taktlänge
def run(self):
self.channelMarker = -1 #Schlüssel für das Dictionary der Kanäle, inaktiv (-1)
self.soundMarker = 0 #Schlüssel für das Dictionary der Sounddateien, deren Taktlänge = timeStep ist
self.xRun = 1
while self.xRun == 1:
time.sleep(0.5) #Jede halbe Sekunde Anfrage, ob ein Kanal aktiviert ist
if self.channelMarker != -1 : #Wenn ja , Startzeitberechnung. restZeit ist die fehlende Zeit, bis time.clock() ein
# ganzzahliges Vielfaches der Taktlänge ist.
restZeit = self.theTimeStep - (time.clock() % self.theTimeStep)
time.sleep(restZeit)
# Der Sound wird gestartet.
theMixer["chan" + str(self.channelMarker)].play(theSounds["sound" + str(self.soundMarker)].sound)
self.channelMarker = -1
self.soundMarker = self.soundMarker + 1
Liebe Grüsse
Jörg