Копирование компакт-диска в mp3 на C# - сторонний компонент или API?

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
6
0
5 716
1

Ответы 1

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

Быстрый поиск в Google также нашел ссылку на статью CodeProject, в которой авторы создали библиотеку копирования компакт-дисков путем взаимодействия с низкоуровневыми интерфейсами IOCTL API, напрямую взаимодействуя с дисководом компакт-дисков. Это может быть хорошей отправной точкой для создания собственного - найдите это в 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#, но это кажется необычным запросом. Может, пришло время для побочного проекта ...

Хотя материал CDDB / FREEDB прост, но если они получают диски от артистов для обзора, их, вероятно, еще нет в базах данных.

J Wynia 14.03.2009 04:07

Другие вопросы по теме