Вы можете сделать все это через доступ к управляющей библиотеке проигрывателя 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 # для этого, но это кажется необычным запросом. Может быть, пришло время для побочного проекта ...