Ripping CD в mp3 на C # – сторонний компонент или api там?

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

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

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

Быстрый Google также нашел ссылку на статью CodeProject, в которой авторы создали библиотеку для копирования компакт-дисков путем взаимодействия с низкоуровневыми 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-интерфейс (хотя, как ни странно, нет веб-службы, которую я мог бы найти). Простота работы с WebRequest .

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

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

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

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

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