Копирование аудио CD в Python / Java - PullRequest
0 голосов
/ 01 апреля 2012

У меня есть около 500 компакт-дисков, которые нуждаются в резервном копировании, они содержат старые сессии.

Мне нужна библиотека, которая может использоваться (Java / Python) для копирования этих компакт-дисков

Не требуется поддержка 'nix, а необходимо поддержка * Windows *

Бонусные баллы, которые даются за каркас, который также может обрабатывать метаданные, прикрепленные к трекам.

Я искал целую вечность, я ничего не могу найти, и этот вопрос по теме

Мы считаем, что лучшие вопросы о переполнении стека содержат немного исходного кода их, но если ваш вопрос, как правило, охватывает ... программные инструменты обычно используется программистами ... тогда вы находитесь в правильном месте, чтобы спросить вопрос!

Редактировать:

По-прежнему не найдены бесплатные библиотеки, поддерживающие воспроизведение аудио-CD

Ответы [ 4 ]

2 голосов
/ 18 ноября 2013

у Java есть звуковой интерфейс http://www.oracle.com/technetwork/java/index-139508.html

На этом сайте есть несколько хороших ресурсов, примеров и исходного кода: http://www.jsresources.org/examples/ И это:

, которые читают аудио-CD напрямую, чтобы извлечь звуковые данные. Примеры используйте пакет javax.sound.sampled.

http://www.jsresources.org/examples/audio_cdda.html

2 голосов
/ 01 апреля 2012

Я не могу найти ничего в Windows, которая имеет прямой API, но вы можете получить то, что вы хотите, с помощью поиска «командной строки». Я нашел такие вещи, как:

Который вы могли бы затем интегрировать в процесс Java или Python, который управлял процессом конвертации большего размера. Затем вы можете использовать инструмент, такой как Mutagen , чтобы добавить соответствующие аудио метаданные для ваших записей.

Кроме того, имейте в виду, что если вы можете найти какой-нибудь способ монтировать аудио-CD как диск с данными (я не знаю, каково текущее поведение Windows, но MacOS X может сделать это, например), вы можете просто скопируйте файлы CDA с диска и используйте большее количество инструментов и библиотек для преобразования типов файлов.

0 голосов
/ 23 апреля 2012

Я уверен, что COM API проигрывателя Windows Media включает функции копирования. Полу-гарантированно будет на вашем компьютере с Windows. Вот интерфейс C ++ IWMPCdromRip (MSDN)

Решением Python для решения проблемы в темноте будет добавление pywin32 для COM в API-интерфейс WMP - оно должно дать вам то, что вы хотите, хотя мне также любопытно, почему вы не хотите просто копировать с помощью WMP (или чего-то еще) а затем постобработка полученных файлов, как это было предложено Адамом Гентом. С 1 или 500+ компакт-дисками, я бы ожидал, что большой приемник времени будет физически загружать носитель и ждать его копирования, а не использовать кнопки для копирования.

Я не слишком много работал с COM под Java или Python (я больше не использую Windows для dev), но несколько лет назад это было достаточно просто из C / C ++ с использованием порта gcc для Windows (так что нет справка из MSVS / CLR), Pascal и т. д., поэтому я не могу представить, что она не будет доступна в Java (и, конечно, она есть для Python, использующего pywin32).

0 голосов
/ 01 апреля 2012

Если бы я мог, я бы сделал ссылку "дай мне google-that-for-you-link" ...

http://www.foobar2000.org/

Foobar2000, кажется, делает то, что вы хотите, и имеет SDK. Вы можете использовать Python CTypes, хотя, честно говоря, я не думаю, что вам нужно будет заниматься программированием того, что вы хотите.

Добавление:

Опция Python:

Возможно, вы также захотите проверить: http://code.google.com/p/quodlibet/. Он написан на Python и является кроссплатформенным с некоторыми довольно мощными возможностями тегирования (благодаря бесплатному Mutagen). Однако (из беглого взгляда) не похоже, что он поддерживает копирование, но для этого можно использовать другой инструмент.

Опция Java:

Я не пробовал atunes, но выглядит многообещающе: http://www.atunes.org/?page_id=6. Согласно их сайту, есть установщик Windows, но «Для копирования необходимо установить lame, flac или oggenc.»

...