2008-10-08 19 views
6

Wir arbeiten an einem Projekt, das das Rippen von Audiotracks von CDs zu MP3s erfordert (idealerweise auch die Trackinformationen von CDDB oder ähnlichem abrufen).Ripping einer CD zu MP3 in C# - Drittanbieter-Komponente oder api da draußen?

Weitere Hintergrundinformationen: Verschiedene Musiklabels senden uns CDs mit Musik, die wir dann über ein Online-Liefersystem an die Menschen liefern. Wir versuchen, den Prozess der Umwandlung dieser CDs in MP3s mit vollständigen Titelinformationen zu automatisieren, wo immer dies möglich ist. Wir möchten eine einfache Desktop-Anwendung erstellen, die es einem Redaktionsmitarbeiter ermöglicht, Informationen über die neue Musik, die wir erhalten, einzurichten. Um den Prozess zu rationalisieren, möchten wir das Rippen des Audio und das Abrufen der Spurinformationen einschließen.

Antwort

0

Ich weiß nicht über das Rippen der CD.

Sobald Sie die Audiodaten haben gerippt Sie es mit kodieren könnten LAME

+0

Codierung ist nicht wirklich das Problem, so viel tun wir schon das bisschen - es ist der Ripping-Prozess. Aber danke für das Feedback :) –

8

Sie können über Zugriff auf den Windows Media Player-Control-Bibliothek durch COM-Interop all dies (die IWMPCdromRip Schnittstelle umfasst CD-Ripping, zum Beispiel) . Es ist nicht schön und sieht nicht sehr kontrollierbar aus (du gibst ihm eine Liste mit Tracks, die du rippen sollst, sag es zu rippen, es zerreißt sie und legt sie in die WMP-Bibliothek - die du dann automatisieren kannst und die Tracks rausholst) aber es würde Ende-zu-Ende funktionieren, einschließlich der Abfrage von Track-Daten und Album-Art. Schauen Sie sich http://msdn.microsoft.com/en-us/library/bb262437(VS.85).aspx an, um loszulegen.

Eine schnelle Google fand auch einen Verweis auf einen CodeProject-Artikel, wo die Autoren eine CD-Ripping-Bibliothek von Interop in die Low-Level-IOCTL-APIs erstellt haben und direkt mit dem CD-Laufwerk interagieren. Dies könnte ein guter Ausgangspunkt sein, um sich selbst zu bauen - finden Sie das unter http://www.codeproject.com/KB/cs/csharpripper.aspx.

Derselbe Autor hat einen C# -Encoder mit LAME erstellt, obwohl Sie einfach in LAME.EXE ketten könnten, was einfacher sein könnte. Siehe http://www.codeproject.com/KB/audio-video/MP3Compressor.aspx.

Abfrage CDDB (oder eher FREEDB) ist keine Hexenwerk, es ist eine einfache HTTP-Schnittstelle (obwohl seltsamerweise kein Web-Service, den ich finden könnte). Einfach mit einem WebRequest zu tun.

Sie würden denken, dass jemand eine einfache C# -Bibliothek für diesen Zweck zusammengestellt hätte, aber es scheint eine ungewöhnliche Anfrage zu sein. Vielleicht Zeit für ein Nebenprojekt ...

+0

Während das CDDB/FREEDB Zeug einfach ist, wenn sie Discs von den Künstlern zur Überprüfung bekommen, sind sie wahrscheinlich noch nicht in den Datenbanken. –

0

Um zu sehen, wie freedb Find the CD zugegriffen wird, zeigt es auch, wie man an die TOC kommt und einen Fingerabdruck für die Disc baut. Was die beste Art angeht, direkt mit CDs zu arbeiten - wer weiß! Microsoft hat so viele Fehlstarts bei der Erstellung einer Art von Multimedia-API gemacht, dass es ein komplettes Durcheinander ist - Sie könnten über den Treiber IOCTL, DirectX, MCI oder eine neue DVD-Brenn-API gehen. Persönlich benutze ich das MCI - es ist alt, aber funktioniert mit fast allem und macht was ich machen will. Ich benutze auch LAME als Kompressor und es funktioniert auch gut.

0

Vielleicht wissen nur wenige, dass der Autor des weltweit verwendeten www.exactaudiocopy.de seine Software an Entwickler lizenziert. Er behauptet, dass seine Software in der Lage ist, immer dieselbe Kopie zu erstellen, während andere Bibliotheken weniger genau sind. Es gibt Entwicklerlizenzen und Weiterverteilungslizenzen. Sie sind nicht billig, aber wenn Sie das Beste haben wollen, ist es eine absolute Wahl.

+0

Willkommen bei SO! Ihre Antwort scheint meiner Meinung nach zu sehr nach einer Werbung zu sein. Die Frage war nicht, welche Ripping-Software die genaueste Arbeit leistet.Da der Nutzer jedoch nach Inhalten von Drittanbietern gefragt hat, liefert Ihre Antwort einige Informationen, nach denen der Nutzer gefragt hat. – DWright