velamentum/source/iOS/multimedia/Player.py

133 lines
3.9 KiB
Python
Raw Normal View History

# -*- 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.")