Копирование CD в mp3 в C # - сторонний компонент или API там? - PullRequest
6 голосов
/ 09 октября 2008

Мы работаем над проектом, который требует копирования звуковых дорожек с компакт-дисков в MP3 (в идеале также получение информации о дорожках с CDDB или аналогичной).

Дополнительная справочная информация. Различные музыкальные лейблы присылают нам музыкальные компакт-диски, которые мы затем доставляем людям через систему онлайн-доставки. Мы смотрим на автоматизацию процесса конвертации этих CD в MP3 с полной информацией о треках, где это возможно. Мы хотим создать простое настольное приложение, которое позволит сотрудникам редакции настраивать информацию о новой музыке, которую мы получаем. Чтобы упростить процесс, мы хотели бы включить копирование аудио и поиск информации о дорожке.

Ответы [ 4 ]

8 голосов
/ 09 октября 2008

Вы можете сделать все это через доступ к управляющей библиотеке проигрывателя Windows Media через COM-взаимодействие (например, интерфейс IWMPCdromRip охватывает копирование CD). Это не красиво и не выглядит очень управляемым (вы даете ему список дорожек для копирования, говорите, что нужно копировать, он копирует их и помещает их в библиотеку WMP - которую вы затем можете автоматизировать и получить дорожки из ), но это будет работать сквозной, включая запросы данных трека и обложки альбома. Для начала взгляните на http://msdn.microsoft.com/en-us/library/bb262437(VS.85).aspx.

Быстрый Google также нашел ссылку на статью CodeProject, где авторы создали библиотеку копирования CD путем взаимодействия с низкоуровневыми API-интерфейсами IOCTL, напрямую взаимодействуя с CD-дисководом. Это может быть хорошей отправной точкой для создания собственного - найдите это в http://www.codeproject.com/KB/cs/csharpripper.aspx.

Тот же автор собрал кодировщик C # с помощью LAME, хотя вы можете просто подключиться к LAME.EXE, что может быть проще. Смотри http://www.codeproject.com/KB/audio-video/MP3Compressor.aspx.

Запрос CDDB (или, скорее, FREEDB) - это не ракетостроение, а простой интерфейс HTTP (хотя, как ни странно, я не смог найти Web-сервис). Легко сделать с WebRequest.

Вы могли бы подумать, что кто-то уже собрал бы простую библиотеку C # для этого, но это кажется необычным запросом. Может быть, пришло время для побочного проекта ...

0 голосов
/ 01 декабря 2009

Возможно, мало кто знает, что автор всемирного www.exactaudiocopy.de лицензирует свое программное обеспечение для разработчиков. Он утверждает, что его программное обеспечение способно всегда создавать одну и ту же копию, в то время как другие библиотеки менее точны. Есть лицензии разработчика и лицензии на распространение. Они недешевы, но когда вы хотите получить лучшее, что есть, это абсолютный выбор.

0 голосов
/ 17 августа 2009

Чтобы узнать, как получить доступ к freedb Найдите компакт-диск , здесь также показано, как добраться до оглавления и создать отпечаток пальца для диска. Что касается лучшего способа работы с компакт-дисками напрямую - кто знает! Microsoft сделала так много неудачных попыток создания своего рода мультимедийного API, что это полный беспорядок - вы можете воспользоваться драйвером IOCTL, directx, MCI или новым API записи DVD. Лично я использую MCI - он старый, но работает почти со всем и делает то, что я хочу делать. Я также использую LAME в качестве компрессора, и он также отлично работает.

0 голосов
/ 09 октября 2008

Я не знаю, как копировать диск.

После того, как вы скопировали аудиоданные, вы можете кодировать их, используя LAME

...