# -*- coding: utf-8 -*- import time import velamentum.dateien.Datei class Player(object): """Die Klasse Player dient der Wiedergabe von Multimediadaten aus einer Datei. Attribute: datei (Datei): Die Datei, deren Inhalt wiedergegeben werden soll. dauer (Zahl): Gesamtdauer der Datei in Millisekunden. position (Zahl): Die aktuelle Position der Wiedergabe in Millisekunden. wiederholen (Wahrheitswert): Gibt an, ob die Wiedergabe am Ende von vorne beginnen soll. """ def __init__(self, pDatei): """Konstruktor. Initialisiert den Player. Parameter: pDatei (Datei): Datei, die wiedergegeben werden soll. """ self.datei = pDatei # Eindeutige ID festlegen zur Verwaltung verschiedener gleichzeitig # wiederzugebender Streams. self._id = "%s%04d" % (pDatei.nenneName(), randint(0,4095)) def nenneDatei(self): """Anfrage. Gibt die Datei zurück, die wiedergegeben werden soll. Parameter: --- keine --- Rückgabe (Datei): Datei, die wiedergegeben werden soll. """ return self.datei def setzeDatei(self): """Anfrage. Gibt die Datei zurück, die wiedergegeben werden soll. Parameter: --- keine --- Rückgabe (Datei): Datei, die wiedergegeben werden soll. """ return self.datei def nenneWiederholen(self): """Anfrage. Gibt zurück, ob die Wiedergabe am Ende wieder von vorne beginnen soll. Parameter: --- keine --- Rückgabe (Wahrheitswert): Soll die Datei wiederholt wiedergegeben werden? """ return False def setzeWiederholen(self, pWiederholen): """Auftrag. Legt fest, ob die Wiedergabe am Ende wieder von vorne beginnen soll. Parameter: pWiederholen (Wahrheitswert): Soll die Datei wiederholt wiedergegeben werden? """ pass def nenneDauer(self): """Anfrage. Gibt die Gesamtdauer der Datei zurück. Parameter: --- keine --- Rückgabe (Zahl): Gesamtdauer der Datei in Millisekunden. """ return 0 def nennePosition(self): """Anfrage. Gibt die aktuelle Position der Wiedergabe zurück. Parameter: --- keine --- Rückgabe (Zahl): Gesamtdauer der Datei in Millisekunden. """ return 0 def setzePosition(self, pPosition): """Auftrag. Legt die aktuelle Position der Wiedergabe fest. Parameter: pPosition (Zahl): Neue Position in Millisekunden. """ pass def wiedergeben(self): """Auftrag. Startet die Wiedergabe der Multimediadaten. Parameter --- keine --- """ pass def pausieren(self): """Auftrag. Pausiert die Wiedergabe der Multimediadaten. Die Wiedergabe kann mit 'wiedergeben' fortgesetzt werden. Parameter --- keine --- """ pass def stoppen(self): """Auftrag. Stoppt die Wiedergabe der Multimediadaten. Parameter --- keine --- """ pass # Attribute (verdeckte Getter und Setter) datei = property(nenneDatei, setzeDatei, doc="Die Datei, deren Inhalt " \ "wiedergegeben werden soll.") dauer = property(nenneDauer, doc="Die Gesamtdauer der Datei in Millisekunden.") position = property(nennePosition, setzePosition, doc = "Die aktuelle "\ "Position der Wiedergabe.") wiederholen = property(nenneWiederholen, setzeWiederholen, doc="Gibt an, "\ "ob die Wiedergabe am Ende wieder von vorne beginnen soll.")