SonicNet

Gegen blinden Aktivismus. Nichts tun als produktiver Zustand.

Play dude konzept

Musik-Player

Programumfang:

Audiothek:

Single Click auf Buchstaben à Alle Interpreten öffnen sich bzw. Alben oder Titel

Double Click auf Interpreten à alle Lieder die in dem Knoten enthalten sind werden zur Wiedergabeliste hinzugefügt. Das gleiche gilt für die Alben und den Titel

Rechtsklick auf den Interpreten:

Popup:

Hinzufuegen: Mit dem Button „Browse“ wird ein FileChooser aufgerufen damit kann man entweder ein ganze Directory auswählen oder eine einzelne Datei. Bei einem Directory kann mithilfe von dir.listFiles() auf alle Files zu gegriffen werden.

Der Button „File“ ist nur wenn man mit einem FileChooser nicht Dateien und Directorys auswählen kann.

Umbenennen/Entfernen:

Ändert den Interpreten für den ganzen Ast bzw. entfernt den ganzen Ast. Bei Album und Titel öffnet sich ein Popup:

Suchen:

Statt dem Label Audiothek Suchergebnisse. Ergebnisse werden im Jtree dargestellt, allerdings schon aufgeklappt.

Wiedergabeliste:

Bei Rechtsklick Popup mit entfernen.

Mehrfachauswahl der Titel möglich

Doppelklick auf einen Titel setzt Wiedergabeliste dort fort.

Funktionsweise:

Bekommt eine JTree vom Main um die Audiothek zu verwalten und bekommt einen JTabel für die Wiedergabeliste.

Folgende Aktionen des Benutzers werden dem Main mitgeteilt weitergegeben:

Aktionname braucht

Eigenschaften_aendern LiedID,Titel,Interpret,Album,Genr

Entfernen LiedID

Wiedergeben LiedID

Direkte_wiedergabe LiedID

Hinzufuegen LiedID,Titel,Interpret,Album,Genr

Pausieren

Stopp

such_anfrage Suchanfrage


Allgemeine Funktionen:

String[] Suchen(Titel, Interpret, Album, Genre)

String[] Hohlen(LiedID)

Hinzufuegen(LiedID, Titel, Interpret, Album, Genre,url)

Entfernen(LiedID)

Aendern(LiedID, Titel, Interpret, Album, Genre,url)

Datenbank:

Table:

# LiedID

INTEGER

Titel

VARCHAR

Interpret

VARCHAR

Album

INTEGER

Genre

VARCHAR

URL

VARCHAR

File:

S

1::Incinerate::Sonic Youth::30:26::Alternative::D\\Musik\\Incinerate.mp3

2::Kool Thing::Sonic Youth::Goo::Alternative::D:\\Musik\\Incinerate.mp3


Klasse Player:

Funktionen: laden

Play

Pause

Resume

Klasse Aktion:

Aktionname: String

LiedID: Integer

Suchanfrage: String

Titel: String

Interpret: String

Album: String

Genre: String

Es muss nicht für jede Aktion jedes Feld ausgefüllt sein.

Funktionsweise: Die Klasse wird im Main erstellt und dann an den Konstruktor der Klassen Logik und GUI übergeben. Dadurch das alle Variablen public sind können die Klassen Logik und GUI der Klasse Main mitteilen wenn sie eine Aktion durchführen wollen, in dem sie die Variable Aktionname ändern und den Rest mit den benötigten Daten füllen. Die Klasse Main übernimmt die Zusammenarbeit der beiden Klassen.

Klasse Logik:

Suchen: Bekommt einen String z.B. ‚kool thing::t’. Je nachdem was nach den 2 Doppelpunkten kommt wird entweder nach Interpreten(i), Titel(t), Alben(a) oder Genres(g) gesucht und sortiert. Der Suchbegriff steht vor den 2 Doppelpunkten.

Die Funktion gibt einen Jtree zurück.

Audiothek erstellen:

Liest mithilfe von Datenzugriff. Schickt fertigen JTree an die GUI
und refresht diese.

Aktion(Aktion akt):

Ruft je nach dem wie der Aktionsname ist die entsprechende Funktion
auf.

Eigenschaften_aendern(Aktion akt)

Entfernen(Aktion akt)

Wiedergeben(Aktion akt): startet die Wiedergabe wenn noch kein Lied
vorhanden ist und erstellt eine wiedergabe liste wenn schon eins vorhanden

Ist wird es nur angehängt. Merkt sich welchen Titel es gerade abspielt um den dann zu pausieren oder zu stoppen.

Exception: UnsopportedAudioFormat()

Direkt_wiedergeben(Aktion kat):

Sucht den Titel in der Wiedergabeliste und gibt ihn wieder.

Pausieren

Stopp
such_anfrage(Aktion akt): sucht alle titel und gibt einen JTree zurück

Jtree in so ein Jpanel reingeben wie beim bild

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>