Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Mashup MediaPlayer *work in progress*
MOnsDaR
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

Mashup MediaPlayer *work in progress*

beantworten | zitieren | melden

Um endlich mal meinen Beitragszähler zu entjungfern möchte ich hier ein Projekt vorstellen, an dem ich zur Zeit mit zwei Arbeitskollegen in unserer Freizeit arbeite:

MusicMasher
Sinn des Projektes ist es, einen Musicplayer zu entwickeln, der statt lokaler Dateien Musik(-videos) von verschiedenen Onlinediensten wie Youtube oder MyVideo zusammensucht (Mashup) und abspielt.
So hat man mittels Internet- Verbindung Zugriff auf ein nahezu unendlich großes Repertoire an Musik und benötigt zum Abspeichern dessen lediglich etwas Platz für die URLs.

Einige Features die wir uns überlegt und zu großem Teil auch schon implementiert haben:

Plugins
Für nahezu alle Dienste, die dem Player Daten liefern können, kann man Plugins schreiben. Es gibt Plugins um Lieder abzuspielen, um mehr Dienste nach neuen Medien zu durchsuchen oder um Informationen über ein bestimmtes Lied zu bekommen.

Abspeichern der Daten
Zur Zeit werden alle Songs mit passenden Details in XML- Dateien abgespeichert. (Eine XML- Datei stellt hierbei eine Playliste dar).
Wir sind allerdings dabei, eine SQLite- Datenbank in den Hintergrund der Anwendung zu legen. So hat man jederzeit die Übersicht über Interpreten, Alben, Genres, Playlisten etc.

Abspielen vieler verschiedener Formate
Durch den Einsatz der VLC- Library sind wir in der Lage nahezu jedes Format abzuspielen.

Es sind natürlich noch viele weitere Features enthalten, vor allem um die Benutzerfreundlichkeit zu erhöhen. So soll die GUI möglichst einfach und innovativ gestaltet werden (haben bereits einige Konzepte erstellt und TestGUIs ausprobiert).

Derzeitiger Stand:

Wie eingangs schon erwähnt, haben wir schon einen Großteil der Features implementiert. Zurzeit arbeiten wir an der Integration der SQLite- DB. Eine auf Songs im XML- Format basierende TestGUI besteht und spielt Songs von Youtube und MyVideo ab.

Unser größtes Problem ist derzeit einfach noch die GUI. Wir haben einige gute Ideen zu deren Umsetzung in WPF uns aber entweder das handwerkliche Geschick oder das künstlerische Auge fehlt.
Darum möchte ich diesen Beitrag direkt mit einem Gesuch verbinden: Wenn jemand an einem solchen Projekt mitarbeiten möchte und Lust auf die Aufgabe hat, in WPF eine GUI umzusetzen, kann er sich gern bei mir melden.
Kontaktinformationen finden sich in meinem Profil (ICQ und Skype)

Mich würde interessieren, was ihr von dem Konzept haltet. Weiterhin werde ich Projektfortschritte natürlich hier einpflegen und euch auf dem laufenden halten. Wir hoffen demnächst schon eine erste laufende Version veröffentlichen zu können.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von MOnsDaR am .
Meine Projekte:
ClipboardReader
MusicMasher (auf Eis gelegt)
PAMTracker 4.02
private Nachricht | Beiträge des Benutzers
MOnsDaR
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

beantworten | zitieren | melden

Hmmm, habe ich das Konzept schlecht erklärt, oder ist das Projekt für außenstehende nicht annähernd so interessant, wie wir uns das vorstellen?

Wir sind weiterhin auf der Suche nach jemandem, der uns GUI- mäßig unter die Arme greifen kann. Vielleicht findet sich ja jemand.
Meine Projekte:
ClipboardReader
MusicMasher (auf Eis gelegt)
PAMTracker 4.02
private Nachricht | Beiträge des Benutzers
Torley
myCSharp.de - Member



Dabei seit:
Beiträge: 109

beantworten | zitieren | melden

Bau ne funktion ein die jedes abgespielte lied lokal speichert in mp3. (bin mir nicht sicher ob das legal ist) fänd ich aber ultra!

das mit der datenbank im hintergrund hab ich nicht so ganz verstanden? wozu? playlisten will ich verschieben, weiter geben, oder vervielfältigen können, für verschiedene versionen davon!

Ich werd das projekt mit interesse verfolgen!

torley
private Nachricht | Beiträge des Benutzers
MOnsDaR
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

beantworten | zitieren | melden

Stell dir folgendes vor:

Du kennst jemanden, der hat einen Interpreten in seiner Datenbank, den du gut findest. Er kann nun alle Lieder dieses Interpreten in eine portable Playliste exportieren, dir diese Datei zusenden und du kannst diese Playliste in deine Datenbank aufnehmen.

Mit wenigen Schritten und wenig Datentransfer (so eine Datei wird keine 5KB groß sein) hast du nun deine Musikbibliothek erweitert und kannst fortan die Lieder des Interpreten für deine Playlisten verwenden.

Ein weiterer Ansatz wäre, dass man komplette externe Datenbanken importieren kann. So ist es möglich, wenn 5 User eine Datenbank mit verschiedenen Einträgen haben, diese zusammenzuführen und eine weitaus größere Datenbasis zu haben.

Unser anderer Ansatz, XML Dateien die jeweils eine Playliste darstellen, ist zwar gut, aber hat viele Nachteile:
- Lieder, die in 2 verschiedenen Playlisten vorhanden sind, werden redundant gespeichert
- Man kann nur feste Playlisten laden. Durch die Datenbank gibt es Dynamische Playlisten (was, wenn du mal Lust hast, alle deine Rock- Lieder durchzuhören o.ä.)
- In einer Datenbank ist es einfacher, pro Song mehrere Sourcen zu speichern. D.h. ich habe für mein Lied einen Link zu Youtube, einen Link zu MyVideo und falls beides mal ausfallen sollte, einen Verweis auf eine lokale MP3- Datei.
- Es geht schneller, eine darauf abgestimmte Datenbank zu durchsuchen/filtern, als dies mit XML- Dateien zu machen. (Zumindest geh ich davon aus, Quellen hab ich dafür nicht)

Das sind nur einige Nachteile, die mir spontan einfallen. Ich hoffe nun ist das mit der Datenbank etwas klarer.

Zum Rippen der Lieder: Es gibt bereits einige Tools, die sich auf diese Funktionalität beschränken. Legal ist das zumindest gemäß den AGBs der Betreiber nicht.
Wir haben vor, einem Song (Je nach Art, YoutubeSong, MyVideoSong usw) pluginmäßig Aktionen hinzuzufügen zu lassen. D.h. man könnte ein Rip- Plugin schreiben und bei Rechtsklick auf den Song würde diese Aktion im Kontextmenu erscheinen.

Mich freut es, dass doch Interesse vorhanden ist!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von MOnsDaR am .
Meine Projekte:
ClipboardReader
MusicMasher (auf Eis gelegt)
PAMTracker 4.02
private Nachricht | Beiträge des Benutzers
Tomot
myCSharp.de - Member

Avatar #avatar-2678.jpg


Dabei seit:
Beiträge: 691
Herkunft: Düsseldorf

beantworten | zitieren | melden

So, dann will ich auch mal meinen Senf hinzugeben:

Ansich hört sich das Projekt ganz gut an, und wenn es so funktioniert, wie ich es mir vorstelle, dann würde ich es auch benutzen.

Wo ich noch Probleme sehe:
- Youtube hat öfters Probleme gewisse Videos zu übertragen. Was macht ihr in solchen Situationen?
Zitat
Bau ne funktion ein die jedes abgespielte lied lokal speichert in mp3.
Da bietet sich eventuell an, das zum abspielen geladene Flashfile einfach zu speichern.

- Wie soll gewährleistet werden, das bei meiner Suche auch wirklich die Treffer übereinstimmen? Nach welchem Algorithmus wählt ihr die abzuspielenden Lieder aus? Oder macht das der User selbst? Denn ich sehe da ein Problem, automatisch zwischen dem von einem Label bereitgestellten Lied und qualitativ anders wirkenden Version zu unterscheiden. (Eine Beispielsuche wäre hier "Linkin Park Papercut")
mit freundlichen Grüßen,
Tomot

Projekte: www.gesellschaftsspieler-gesucht.de
private Nachricht | Beiträge des Benutzers
MOnsDaR
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

beantworten | zitieren | melden

Zu dem Problem des Abspielens:
Es wird möglich sein, dass ein Song mehrere Sourcen hat. D.h. wenn der Youtube- Song laggt, kann die MyVideo- Source angezapft werden. Weiterhin haben wir festgestellt, dass direkt gestreamte Videos lang nicht so schlecht abspielen, wie wenn man sie über die Youtube- Page abspielt. (Eine gute Leitung vorausgesetzt)

Das Suchen der Songs:
Die Songs in der Datenbank müssen natürlich selbst hinzugefügt werden. Viele Dienste bieten einfach nicht genug Infos, um auf ein qualitativ hochwertiges Medium schließen zu können.
Wir wollen allerdings versuchen, es dem User so einfach wie möglich zu machen, die Infos zum Song zusammenzutragen.

So gibt es verschiedene Dienste im Internet, die bei gegebenem Titel und Interpreten mehr Infos zum Song zurückgeben können. Diese Dienste kann man via Plugin nutzbar machen.
Beispiel

Weiterhin kann man auch von anderen Usern die DB zu seiner eigenen hinzufügen. So erweitert sich die Bibliothek immer weiter. Neben neuen Songs bekommen vorhandene dann auch neue Quellen.
Meine Projekte:
ClipboardReader
MusicMasher (auf Eis gelegt)
PAMTracker 4.02
private Nachricht | Beiträge des Benutzers
Sythus
myCSharp.de - Member



Dabei seit:
Beiträge: 166

beantworten | zitieren | melden

Ging das Projekt weiter oder ist es zum erliegen gekommen?
PM wäre nett

Gruß
private Nachricht | Beiträge des Benutzers
MOnsDaR
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

beantworten | zitieren | melden

Nachdem wir doch schon recht weit waren (Datenbank-Layer war in Arbeit, GUI fast fertig etc), kamen uns leider die Abschlussprüfungen und andere Projekte dazwischen, weshalb wir das Projekt anno dazumal auf Eis legen mussten.

Ich würde nach wie vor gern dieses Projekt realisieren, allerdings habe ich bisher nicht die Zeit finden können. Auch jetzt habe ich noch einige andere Projekte, die von der Priorität einfach höher liegen.

Vielleicht werd ich das Projekt mittel bis langfristig nochmal reaktivieren.

Schöne Grüße,
MOnsDaR
Meine Projekte:
ClipboardReader
MusicMasher (auf Eis gelegt)
PAMTracker 4.02
private Nachricht | Beiträge des Benutzers