2008-10-08 10 views
6

Estamos trabajando en un proyecto que requiere la extracción de pistas de audio de CD a MP3 (lo ideal es también recuperar la información de la pista de CDDB o similar).Extracción de un CD a mp3 en C#: ¿componente de terceros o API que hay?

Más información general: varias etiquetas de música nos envían CDs de música que luego entregamos a las personas a través de un sistema de entrega en línea. Estamos estudiando la posibilidad de automatizar el proceso de conversión de esos CD en MP3 con información de seguimiento completa, siempre que sea posible. Queremos producir una aplicación de escritorio simple que permita a un miembro del personal editorial configurar la información sobre la nueva música que recibimos. Para simplificar el proceso, nos gustaría incluir la extracción del audio y la recuperación de la información de la pista.

Respuesta

0

No sé sobre la extracción del CD.

Una vez que tenga los datos de audio arrancado usted podría codificar utilizando LAME

+0

La codificación no es realmente el problema tanto que ya hacemos ese poco - es el proceso de extracción. Pero gracias por los comentarios :) –

8

Puede hacer todo esto a través de acceso a la biblioteca de control de Windows Media Player a través de interoperabilidad COM (la interfaz IWMPCdromRip cubre la extracción de CD, por ejemplo) . No es bonito y no parece ser muy controlable (le da una lista de pistas para copiar, le dice que las rasgue, las rasga y las coloca en la biblioteca de WMP, que luego puede automatizar y sacar las pistas de) pero funcionaría de principio a fin, incluida la consulta de datos de pistas y carátulas del álbum. Echa un vistazo a http://msdn.microsoft.com/en-us/library/bb262437(VS.85).aspx para comenzar.

Un rápido Google también encontró una referencia a un artículo de CodeProject donde los autores han creado una biblioteca de extracción de CD por interoperabilidad en las API IOCTL de bajo nivel, interactuando directamente con la unidad de CD. Este podría ser un buen punto de partida para construir tu propio dispositivo, encuentra que al http://www.codeproject.com/KB/cs/csharpripper.aspx.

El mismo autor ha creado un codificador de C# utilizando LAME, aunque podría simplemente encadenar LAME.EXE que podría ser más simple. Ver http://www.codeproject.com/KB/audio-video/MP3Compressor.aspx.

Consultar CDDB (o más probablemente FREEDB) no es ciencia espacial, es una interfaz HTTP simple (aunque curiosamente no hay servicio web que pueda encontrar). Fácil de hacer con un WebRequest.

Pensarías que alguien habría creado una biblioteca de C# simple para esto, pero parece una solicitud poco común. Tal vez sea hora de un proyecto paralelo ...

+0

Si bien las cosas de CDDB/FREEDB son sencillas, si están recibiendo discos de los artistas para su revisión, probablemente aún no estén en las bases de datos. –

0

Para ver cómo acceder a freedb Find the CD, también muestra cómo llegar al TOC y crear una huella dactilar para el disco. En cuanto a la mejor manera de trabajar con CD directamente, ¡quién sabe! Microsoft ha cometido tantos inicios en falso al crear algún tipo de API multimedia. Es un completo desastre. Se puede acceder a través del controlador IOCTL, directx, MCI o la nueva API de grabación de DVD. Personalmente uso el MCI: es antiguo, pero funciona con casi todo y hace lo que quiero. También uso LAME como compresor y también funciona bien.

0

Tal vez pocas personas conozcan al autor del mundo utilizado www.exactaudiocopy.de está licenciando su software a los desarrolladores. Él afirma que su software puede crear siempre la misma copia, mientras que otras bibliotecas son menos precisas. Hay licencias de desarrollador y licencias de redistribución. No son baratos, pero cuando quieres tener lo mejor que hay, es una elección absoluta.

+0

Bienvenido a SO! En mi opinión, su respuesta se parece demasiado a un anuncio. La pregunta no era sobre qué software de extracción hace el trabajo más exacto.Sin embargo, dado que el usuario estaba solicitando material de terceros, su respuesta proporciona algo de lo que el usuario estaba pidiendo. – DWright

Cuestiones relacionadas