Öffentliche Methoden | Öffentliche, statische Methoden | Paketattribute

i2bpro.layer.Layer Klassenreferenz

Zusammengehörigkeiten von i2bpro.layer.Layer:
Collaboration graph
[Legende]

Aufstellung aller Elemente

Öffentliche Methoden

void run ()
void run (String filename) throws PlayListException, FileNotFoundException, IOException, CannotReadException, TagException, ReadOnlyFileException, InvalidAudioFrameException
void Reset ()
void play () throws LayerException, MalformedURLException, IOException, NoPlayerException
void play (int new_id) throws LayerException, MalformedURLException, IOException, NoPlayerException
void PlayerStarted ()
boolean isPositionUpdate ()
void setPositionUpdate (boolean val)
void PositionUpdate ()
void pause ()
void PlayerPaused ()
void stop ()
void PlayerStopped ()
void PlayerEndOfMedia () throws LayerException, MalformedURLException, IOException, NoPlayerException
void Prior () throws LayerException, MalformedURLException, IOException, NoPlayerException
void Next () throws LayerException, MalformedURLException, IOException, NoPlayerException
void toggleMute ()
void toggledMute ()
void PlayListChange ()
void setVolume (int volume)
void setSave (boolean isSave)
boolean isSave ()
Integer getID ()
void DeleteMedia () throws LayerException
void DeleteMedia (int del_id) throws LayerException
boolean toggleRandom () throws LayerException, MalformedURLException, IOException, NoPlayerException

Öffentliche, statische Methoden

static Layer getInstance ()

Paketattribute

int first_id

Ausführliche Beschreibung

Projektarbeit Informatik IIb - Audioplayer
Klasse: Layer

Die Klasse Layer ist für die gesamte grafische Oberfläche des Audioplayers verantwortlich und dient sozusagen als Kontrollzentrum. Sie ist von der Klasse JFrame abgeleitet. Es werden für die Darstellung der Elemente des Audioplayers verschiedene Panels angelegt und mit diversen Layouts versehen. Die Klasse Layer selber ist in ein BorderLayout eingebetet.

Dabei werden die Unterpanels entsprechend ihrer Ausrichtung im Hauptpanel benannt. So gibt es das EastPanel welches den Lautstärkeregler beinhaltet, das CenterPanel welches die Wiedergabeliste beinhaltet und das Soutpanel, welches die Button und die Zeitsteuerung beinhaltet. Wie zu erkennen ist, sind nicht alle Felder des BorderLayouts belegt. Somit gebe es noch Möglichkeiten das Hauptpannel zu erweitern.

Damit keine weiteren Instanzen der Klasse Layer im Audioplayer existieren, wurde die Klasse nach Singleton-Pattern programmiert.

Version:
1.0.0
Datum:
31.12.2010
Autor:
Jürgen Döffinger

Definiert in Zeile 56 der Datei Layer.java.


Dokumentation der Elementfunktionen

void i2bpro.layer.Layer.DeleteMedia (  ) throws LayerException

Die Methode DeleteMedia startet den Löschvorgang des aktuell in der Wiedergabeliste (JTable/CenterPanel) ausgewählten Audiotitels.

Ausnahmebehandlung:
LayerException

Definiert in Zeile 700 der Datei Layer.java.

void i2bpro.layer.Layer.DeleteMedia ( int  del_id ) throws LayerException

Diese DeleteMedia Methode löst den Löschvorgang für den im Paramter del_id angegebenen Audiotitels aus.

Dazu wird geprüft ob del_id größer als 0 ist, da alle Audiotitel eine Identifikationsnummer >= 0 aufweisen. Ist dies also nicht der Fall, so wird eine Exception ausgelöst.

Anschließend wird geprüft, ob der zu löschende Audiotitel gerade abgespielt wird. Ist dies der Fall wird das Abspielen gestoppt.

Anschließend wird das Löschen ausgelöst. Der Audiotitel wird dabei lediglich aus der Wiedergabeliste gelöscht, jedoch nicht von seinem physikalischen Speicherort.

Danach wird geprüft ob der aktuelle Audiotitel vor oder nach dem gelöschten Audiotitel in der Wiedergabeliste kam und entsprechend wird das Attribut id angepasst und die Selektrierung im Centerpanel (JTable) geändert.

Parameter:
del_idIdentifikationsnummer des zu löschenden Audiotitels
Ausnahmebehandlung:
LayerException

Definiert in Zeile 731 der Datei Layer.java.

Integer i2bpro.layer.Layer.getID (  )

Die Methode getID gibt die Identifikationsnummer des aktuellen Audiotitels zurück.

Rückgabe:
Identifikationsnummer des aktuellen Audiotitels

Definiert in Zeile 689 der Datei Layer.java.

static Layer i2bpro.layer.Layer.getInstance (  ) [static]

Die Methode getInstance gibt die einzige Instanz der Klasse Layer zurück und macht die MEthoden des Layers somit verfügbar.

Rückgabe:
einzigste Instanz der Klasse Layer.

Definiert in Zeile 141 der Datei Layer.java.

boolean i2bpro.layer.Layer.isPositionUpdate (  )

Die Methode isPostionUpdate gibt den Status wieder, ob die Abspielposition sich geändert hat und es versucht wird, den Positionsmarker des JSlider-Objektes zu verändern, welches die Abspielposition anzeigt.

Rückgabe:
booleascher Ausdruck, der den Status der Abspielpositionsänderung angibt.

Definiert in Zeile 356 der Datei Layer.java.

boolean i2bpro.layer.Layer.isSave (  )

Mit der Methode kann abgefragt werden, ob der Save Mode gesetzt ist.

Rückgabe:
booleascher Ausdruck der Aussagt, ob der Save Mode gesetzt ist oder nicht.

Definiert in Zeile 678 der Datei Layer.java.

void i2bpro.layer.Layer.Next (  ) throws LayerException, MalformedURLException, IOException, NoPlayerException

Die Methode Next versucht den nächsten Audiotitel abzuspielen. Dazu wird geprüft, ob der Audioplayer im Zufallsmodus ist. Ist dies der Fall, so schaut die Methode in der HashMap nachher nach, welcher der nächste Audiotitel ist versucht mit der MEthode play das Abspielen zu starten. Wurde jedoch kein Titel gefunden, so wird die Methode nextRandomTitel aufgerufen, um einen zu generieren.

Befindet sich der Audioplayer nicht im Zufallsmodus, so wird versucht den nächste Audiotitel in der Wiedergabeliste abzuspielen. Ist der aktuelle Titel der Letzte in der Wiedergabeliste, so wird der erste Titel zum aktuellen wird gemacht und es wird mithilfe der Methode play versucht diesen abzuspielen.

Ausnahmebehandlung:
LayerException
MalformedURLException
IOException
NoPlayerException

Definiert in Zeile 562 der Datei Layer.java.

void i2bpro.layer.Layer.pause (  )

Die Methode pause wird aufgerufen, um dem Player mitzuteilen, dass er das Abspielen des Audiotitels pausieren soll. Dazu wird geprüft, ob der Player überhaupt einen Audiotitel abspielt (Status 1=Play).

Definiert in Zeile 403 der Datei Layer.java.

void i2bpro.layer.Layer.play (  ) throws LayerException, MalformedURLException, IOException, NoPlayerException

Die Methode play wird ausgeführt, wenn kein bestimmter Audiotitel abgespielt werden soll. Somit wird der im Attribut id gespeicherte Audiotitel abgespielt, es sei denn der Player befindet sich nicht in den Modis 0=Stop oder 1=Play, dann wird die id auf den in der Wiedergabeliste ausgewählten Titel gesetzt. Sollte dort kein Audiotitel ausgewählt worden sein, dann wird dies über den dadurch übergebenen Wert in der Methode StartPlay ausgewertet.

Ausnahmebehandlung:
LayerException
MalformedURLException
IOException
NoPlayerException

Definiert in Zeile 230 der Datei Layer.java.

void i2bpro.layer.Layer.play ( int  new_id ) throws LayerException, MalformedURLException, IOException, NoPlayerException

Diese MEthode play erwartet als Parameter eine id die auf einen bestimmten Audiotitel in der Wiedergabeliste zeigt. Dieser Audiotitel ist abzuspielen. Dazu wird der Wert new_id dem Attribut id übergeben und die Methode StartPlay aufgerufen.

Parameter:
new_idPlayList-Identifikationsnummer des abzuspielenden Audiotitels
Ausnahmebehandlung:
LayerException
MalformedURLException
IOException
NoPlayerException

Definiert in Zeile 256 der Datei Layer.java.

void i2bpro.layer.Layer.PlayerEndOfMedia (  ) throws LayerException, MalformedURLException, IOException, NoPlayerException

Hat er Audiotitel, dass Ende des Abspielens erreicht und wurde kein Stoppen ausgelöst, so teilt der Player das beenden des Abspielens, aufgrund des Erreichens des Endes des Audiotitels, über die Methode PlayerEndOfMedia mit.

Die Methode prüft nun sich der Audioplayer im Zufallsmodus ist oder nicht. Ist er im Zufallsmodus, so wird die Methode nextRandomTitel aufgerufen. Ansonsten wird versucht den nächsten Titel der Wiedergabeliste zum aktuellen Titel zu machen. Ist dies Möglich, so wird durch Aufruf der MEthode play, dass abspielen des Audiotitels gestartet.

Ausnahmebehandlung:
LayerException
MalformedURLException
IOException
NoPlayerException

Definiert in Zeile 477 der Datei Layer.java.

void i2bpro.layer.Layer.PlayerPaused (  )

Mit dieser MEthode kann der Oberfläche (Layer) mitgeteilt werden, dass der Versuch den Player pausieren zu lassen, erfolgreich war. Die MEthode teilt dies dann den entsprechenden Panels mit, damit diese die Panels entsprechend verändern können.

Definiert in Zeile 418 der Datei Layer.java.

void i2bpro.layer.Layer.PlayerStarted (  )

Die Methode PlayerStarted wird von der Instanz Player aufgerufen, wenn der Startvorgang zum abspielen eines Audiotitels erfolgreich war. Die Methode übergibt diese Meldung nun an die Unterpanels weiter und setzt das old_id Attribut auf die aktuelle id und geht wieder aus dem Status isPlayerStarting raus.

Definiert in Zeile 333 der Datei Layer.java.

void i2bpro.layer.Layer.PlayerStopped (  )

Mit der MEthode PlayerStopped teilt der Player mit, dass der Versuch das Abspielen eines Audiotitels zu stoppen, erfolgreich war. Die Methode gibt dies dann an die entsprechenden Panels weiter, so dass diese die Panels entsprechend einstellen können.

Definiert in Zeile 448 der Datei Layer.java.

void i2bpro.layer.Layer.PlayListChange (  )

Mit der Methode PlayListChange wird das Ändern der Wiedergabeliste mitgeteilt. Die Methode teilt dies dem CenterPanel über die gleichnamige Methode mit, welches dann das Panel aktualisiert.

Anschließend wird geprüft ob die Wiedergabeliste Audiotitel enthält. Enthält sie keine Audiotitel wird die id auf -1 gesetzt, um anzuzeigen, dass kein Audiotitel ausgewählt ist. Gleichzeitig, wird der Menüeintrag "Audiotitel löschen" anwählbar oder nicht anwählbar gesetzt.

Definiert in Zeile 620 der Datei Layer.java.

void i2bpro.layer.Layer.PositionUpdate (  )

Mit der MEthode PositionsUpdate wird dem SouthPanel mitgeteilt, dass sich im Player die Abspielposition geändert hat und somit die entsprechenden Elemente im Panel aktuallisiert werden müssen. Entsprechend ruft die Methode Funktionen des Panels auf. Dazu wird der Status PositionsUpdate gesetzt, damit die Elemente wissen, dass die Änderung vom Player und nicht vom User kommt. Würde sie vom User stammen, so müssten die Elemente ihrerseits dem Player diese Änderung mitteilen. Würde der Status also nicht gesetzt werden, so würde eine Endlosschleife entstehen.

Definiert in Zeile 387 der Datei Layer.java.

void i2bpro.layer.Layer.Prior (  ) throws LayerException, MalformedURLException, IOException, NoPlayerException

Durch Aufruf der Methode Prior wird versucht den vorherigen Titel abzuspielen.

Zunächst wird geprüft, ob die Wiedergabelliste Audiotitel enthält. Enthält die Liste Audiotitel, wird nun geprüft ob der Audioplayer im Zufallsmodus ist. Ist dies der Fall so wird in der HashMap vorher der vorherige Audiotitel ausgelesen und der Methode play zum abspielen übergeben. War der aktuelle Titel jedoch der Erste, so wird keine Aktion ausgelöst.

Ist der Audioplayer nicht im Zufallsmodus, so wird versucht den vorherige Titel abzuspielen. Ist der aktuelle Titel der Erste in der Wiedergabelliste, so wird der letzte Audiotitel der List zum aktuellen gesetzt und das Abspielen dieses gestartet.

Ausnahmebehandlung:
LayerException
MalformedURLException
IOException
NoPlayerException

Definiert in Zeile 521 der Datei Layer.java.

void i2bpro.layer.Layer.Reset (  )

Die Methode Reset wird von der Klasse ErrorMsg aufgerufen, um den Audioplayer nach einer Exception zurückzusetzen, in einen stabilen Zustand.

Definiert in Zeile 205 der Datei Layer.java.

void i2bpro.layer.Layer.run (  )

Die Methode run berechnet anhand der Bildschirmauflösung die Auflösung des Fensters. Dabei wird die Größe des Fensters auf 75% der Bildschirmauflösung festgelegt. Die Positions des Fensters wird ebenfalls aus der Bildschirmauflösung berechnet. So dass das Fenster mittig erscheint. Nach den Berechnungen wird das Fenster sichtbar geschaltet.

Definiert in Zeile 155 der Datei Layer.java.

void i2bpro.layer.Layer.run ( String  filename ) throws PlayListException, FileNotFoundException, IOException, CannotReadException, TagException, ReadOnlyFileException, InvalidAudioFrameException

Dieser Methode run wird ein Pfad zu einer Wiedergabeliste übergeben. Bevor nun die andere Methode run ausgeführt wird, wird die Pfadangabe der PlayList-Instanz übergeben. Des Weiteren wird dem CenterPanel mitgeteilt, dass sich die PlayList geändert hat und das CenterPanel die Tabelle (JTable) neu zeichnen muss.

Parameter:
filenamePfadangabe zu einer Wiedergabeliste
Ausnahmebehandlung:
PlayListException
FileNotFoundException
IOException
CannotReadException
TagException
ReadOnlyFileException
InvalidAudioFrameException

Definiert in Zeile 187 der Datei Layer.java.

void i2bpro.layer.Layer.setPositionUpdate ( boolean  val )

Mithilfe der Methode setPositionUpdate kann der Status gesetzt werden, welcher den Versuch der Änderung der Abspielposition im entsprechenden Panel angibt.

Parameter:
valbooleascher Ausdruck für den Status der Abspielpositionsänderung

Definiert in Zeile 370 der Datei Layer.java.

void i2bpro.layer.Layer.setSave ( boolean  isSave )

Mit der Methode wird der Änderungsstatus der Wiedergabeliste gesetzt. Dazu ist mittels des Parameters isSave mitzuteilen, ob sich die Wiedergabeliste oder Werte der Wiedergabeliste geändert haben. Ist dies der Fall so wird der SaveMode eingeschaltet. Dies bedeutet, dass das Speichern der Wiedergabeliste freigeschaltet wird und beim beenden des Audioplayers der User gefragt wird, ob er die Änderungen speichern möchte.

Parameter:
isSavebooleascher Wert der den Save Mode setzt.

Definiert in Zeile 662 der Datei Layer.java.

void i2bpro.layer.Layer.setVolume ( int  volume )

Die Methode setVolume kann dazu aufgerufen werden, um die Lautstärke zu verändern. Dazu ist über den Parameter volume die neue Lautstärke der Methode mitzuteilen.

Parameter:
volumeLautstärkewert zwischen 0 und 100.

Definiert in Zeile 642 der Datei Layer.java.

void i2bpro.layer.Layer.stop (  )

Mit der Methode stop wird das Stoppen des Abspielens eines Audiotitels im Player ausgelöst. Dazu wird vorher geprüft, ob der Player überhaupt einen Audiotitel abspielt.

Definiert in Zeile 433 der Datei Layer.java.

void i2bpro.layer.Layer.toggledMute (  )

Über die Methode toggledMute teilt der Player mit, dass sich der Mute Mode geändert hat. Diese Meldung wird den entsprechenden Panels mitgeteilt, welche die Panels entsprechend des Mute Mode abändern.

Definiert in Zeile 600 der Datei Layer.java.

void i2bpro.layer.Layer.toggleMute (  )

Die Methode toggleMute ruft widerum die Methode toggleMute der Instanz Player auf. Diese stellt entsprechend den Mute Mode ein oder aus.

Definiert in Zeile 586 der Datei Layer.java.

boolean i2bpro.layer.Layer.toggleRandom (  ) throws LayerException, MalformedURLException, IOException, NoPlayerException

Mit der Methode toggleRandom kann der Zufallsmodus ein- oder abgeschaltet werden. Jenachdem in welchem Modus sich der Audioplayer befindet. Anschließend wird der Modus zurückgegeben.

Rückgabe:
booleascher Ausdruck über den Zufallsmodus.
Ausnahmebehandlung:
LayerException
MalformedURLException
IOException
NoPlayerException

Definiert in Zeile 756 der Datei Layer.java.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
 Alle Klassen Funktionen