Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Работа с Mp3 файлами

Ответить
Настройки темы
Разное - [решено] Работа с Mp3 файлами

Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vovchik1900
Дата: 08-05-2011
Здравствуйте.

Дело вот в чем:
допустим в папке лежат мп3 файлы. Их примерно 10-15 (может больше). В другой папке лежат картинки. Тоже 10-15 (может больше). *.jpg файлы, разные.
В чем задача:
Как сделать программу, чтобы она поочереди добавляла к мп3 файлам картинки. То есть прописывала в тег к мп3 файлу.
Алгоритм примерно такой: к первому мп3, первую картинку---положил в третью папку, ко второму мп3, вторую картинку---положил в третью папку и так далее до конца. Чтобы потом при воспроизведении можно было видеть эту картинку в плеере как обложку диска.

Я нашел команды на С++. Могу дать ссылки. Понимаю, что тут должен быть цикл, но сделать не могу. Вообще можно же такое не только на С++ написать? Помогите пожалуйста с кодом. Если не трудно.

Отправлено: 12:54, 08-05-2011

 

Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska,

А! вот вы о чем! Не знаю какой тег. А команду нашел вот:

Binary Fields

The last type field that ID3Lib provides support for is a binary field. This holds miscellaneous data that can't be easily described any other way, such a JPEG image.

ID3_Field::Set()

отсюда: http://id3lib.sourceforge.net/id3lib-manual.php

Отправлено: 17:33, 11-05-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Vovchik1900, в общем и целом я понял, что Вы имели в виду. Теперь я уточню: Вы хотите каким-либо образом программным способом внедрять в тело указанного файла формата mp3 (или любого другого формата, поддерживающего внедрение ID3V2 тэгов) указанный файл изображения в формате jpg. Так?

Отправлено: 20:22, 11-05-2011 | #12


Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska,

Да, вы правы.

Отправлено: 05:23, 13-05-2011 | #13


Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska,

Не обязательно
Цитата Iska:
формата mp3 (или любого другого формата, поддерживающего внедрение ID3V2 тэгов) »
хватит только мп3. Блин))) тока щас заметил)))

Отправлено: 16:28, 16-05-2011 | #14


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Vovchik1900, ясно. Со своей стороны могу предложить, например, следующее:

1. Загрузить и установить ActivePython (я пробовал на версии ActivePython 2.6.6.17, сейчас для загрузки доступна и версия 2.6.6.18; 3.x в любом случае не рекомендую, дабы не править скрипты). В дальнейшем предполагается, что установка была произведена в умолчальную папку «C:\Python26».

2. Загрузить и установить модуль eyeD3. Для установки потребуется предварительно распаковать «eyeD3-0.6.17.tar.gz» в произвольную папку, я взял — «C:\PyModules». Внутри неё после распаковки архива (сгодится и WinRAR, и 7-Zip) должна оказаться папка «eyeD3-0.6.17» из архива со следующим содержимым:
читать дальше »
Код: Выделить весь код
╔═════════════════ C:\PyModules\eyeD3-0.6.17 ═══╤════════╤═════╗
║и                 Имя                   │Размер│  Дата  │Время║
║⌂..                                     │ Вверх│24.05.11│02:33║
║├bin                                    │ Папка│02.02.09│07:54║
║├doc                                    │ Папка│02.02.09│07:54║
║├etc                                    │ Папка│24.05.11│02:33║
║├src                                    │ Папка│24.05.11│02:33║
║ acsite                              m4 │  7257│02.02.09│07:54║
║ authors                                │   316│02.02.09│07:54║
║ ChangeLog                              │ 15532│02.02.09│07:54║
║ configure                              │105242│02.02.09│07:54║
║ copying                                │ 18009│02.02.09│07:54║
║ install                                │  9478│02.02.09│07:54║
║ Makefile                            in │  5194│02.02.09│07:54║
║ news                                   │  9738│02.02.09│07:54║
║ readme                                 │ 10097│02.02.09│07:54║
║ README                             html│ 10956│02.02.09│07:54║
║ setup.py                            in │   530│02.02.09│07:54║
║ thanks                                 │  1586│02.02.09│07:54║
║ todo                                   │  1458│02.02.09│07:54║
║                                        │      │        │     ║
║                                        │      │        │     ║

Далее нужно переименовать следующие файлы:
Код: Выделить весь код
C:\PyModules\eyeD3-0.6.17\setup.py.in
в:
Код: Выделить весь код
C:\PyModules\eyeD3-0.6.17\setup.py
и
Код: Выделить весь код
C:\PyModules\eyeD3-0.6.17\src\eyeD3\__init__.py.in
в:
Код: Выделить весь код
C:\PyModules\eyeD3-0.6.17\src\eyeD3\__init__.py
После чего установить модуль командой:
Код: Выделить весь код
C:\Python26\python.exe C:\PyModules\eyeD3-0.6.17\setup.py install
в результате чего в папку:
Код: Выделить весь код
C:\Python26\Lib\site-packages
будет добавлена папка «eyeD3» со следующим содержимым:
читать дальше »
Код: Выделить весь код
╔════════════ C:\Python26\Lib\site-packages\eyeD3 ═══════╤═════╗
║и                 Имя                   │Размер│  Дата  │Время║
║⌂..                                     │ Вверх│24.05.11│02:30║
║ __init__                            py │  1713│02.02.09│07:54║
║ __init__                            pyc│   845│22.05.11│22:23║
║ binfuncs                            py │  3558│02.02.09│07:54║
║ binfuncs                            pyc│  3102│22.05.11│22:23║
║ frames                              py │ 85569│02.02.09│07:54║
║ frames                              pyc│ 63546│24.05.11│02:24║
║ mp3                                 py │ 28296│02.02.09│07:54║
║ mp3                                 pyc│ 21655│22.05.11│22:23║
║ tag                                 py │ 66306│02.02.09│07:54║
║ tag                                 pyc│ 55821│22.05.11│22:23║
║ utils                               py │  5278│02.02.09│07:54║
║ utils                               pyc│  5687│22.05.11│22:23║
║                                        │      │        │     ║
║                                        │      │        │     ║

3. Теперь можно попробовать добавить потребный тэг. Сначала я приведу команду целиком, затем попробую расписать отдельные детали. Итак, добавим изображение из файла «C:\Мои проекты\Wallpapers\wallpaper_su.jpg» в тэг ID3v2.3 «Передняя обложка альбома» в аудиофайл «E:\Песочница\0056\ABBA (Eagle).mp3»:
Код: Выделить весь код
C:\Python26\python.exe C:\PyModules\eyeD3-0.6.17\bin\eyeD3 --no-color -F ` --to-v2.3 --v2 --add-image="C:\Мои проекты\Wallpapers\wallpaper_su.jpg"`FRONT_COVER "E:\Песочница\0056\ABBA (Eagle).mp3"
* «C:\PyModules\eyeD3-0.6.17\bin\eyeD3» — python'овский модуль для работы с командной строкой.
* «--no-color» — параметр, запрещающий добавление в вывод Escape-последовательностей для работы с цветом.
* «-F `» — параметр, меняющий умолчальный разделитель двоеточие («:») множественных полей в атрибутах на гравес («`»), что позволяет указывать полные пути (разбором исходного кода было установлено, что иначе полный путь, например — «C:\Мои проекты\Wallpapers\wallpaper_su.jpg», будет воспринят как два отдельных поля). Разумеется, можно указать свой разделитель.
* «--v2» — внедрение поддерживается только во второй версии тэгов, посему указываем, что будем работать именно со второй версией — ID3v2.x.
* «--to-v2.3» — принудительная конвертация существующих тэгов ID3 в версию ID3v2.3. Вынужденный шаг, сделанный специально для Вас, ибо по умолчанию, при задании потребного параметра «--v2» создаются тэги версии ID3v2.4, а мне не удалось добиться отображения внедрённых обложек данной версии тэгов ни в AIMP2 (несмотря на заявленное:
Цитата:
AIMP v2.61 Build 583 (07.08.2010)
========================================

- Исправлено: некорректно читается обложка альбома из ID3v2.4
), ни в Windows Media Player (который, возможно, у меня просто старый). ID3v2.4 корректно умеет отображать, например, foobar2000. С другой стороны, и он вернулся именно к ID3v2.3 как к основному способу:
Цитата:
1.1.6
* Improved tag compatibility with other software.

o ID3v2.3 tags are now written by default since version 2.4 seems to be widely ignored by software vendors.
Так что, смотрите сами именно по Вашим приложениям, какую именно подверсию пользовать — ID3v2.3 или же ID3v2.4.

NB: Изложенное выше не претендует ни на полноту, ни на абсолютную корректность.

Vovchik1900, если Вас устраивает подобный подход — попробуйте и отпишитесь, сработало ли у Вас внедрение изображения на одиночном файле. Тогда будем двигаться дальше.
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:48, 24-05-2011 | #15


Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg 1.jpg
(7.3 Kb, 2 просмотров)

Iska,
Когда устанавливаю eyeD3 , выдает такую ошибку:

Отправлено: 02:14, 29-05-2011 | #16


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Vovchik1900:
1. Ошибка возникает на этом этапе?
Код: Выделить весь код
C:\Python26\python.exe C:\PyModules\eyeD3-0.6.17\setup.py install
2. Наличествует ли в папке «C:\PyModules\eyeD3-0.6.17» папка «src»?
читать дальше »
Код: Выделить весь код
╔═════════════════ C:\PyModules\eyeD3-0.6.17 ══╤════════╤═02:32
║и                 Имя                  │Размер│  Дата  │Время║
║⌂..                                    │ Вверх│29.05.11│02:32║
║├bin                                   │ Папка│24.05.11│02:33║
║├build                                 │ Папка│24.05.11│02:38║
║├doc                                   │ Папка│24.05.11│02:33║
║├etc                                   │ Папка│24.05.11│02:33║
║├src                                   │ Папка│24.05.11│02:33║
║ acsite                             m4 │  7257│02.02.09│07:54║
║ authors                               │   316│02.02.09│07:54║
║ ChangeLog                             │ 15532│02.02.09│07:54║
║ configure                             │105242│02.02.09│07:54║
║ copying                               │ 18009│02.02.09│07:54║
║ install                               │  9478│02.02.09│07:54║
║ Makefile                           in │  5194│02.02.09│07:54║
║ news                                  │  9738│02.02.09│07:54║
║ readme                                │ 10097│02.02.09│07:54║
║ README                            html│ 10956│02.02.09│07:54║
║►setup                              py │   530│02.02.09│07:54║
║ thanks                                │  1586│02.02.09│07:54║
║ todo                                  │  1458│02.02.09│07:54║
║                                       │      │        │     ║
║                                       │      │        │     ║

3. Наличествует ли в папке «C:\PyModules\eyeD3-0.6.17\src» папка «eyeD3»?
читать дальше »
Код: Выделить весь код
╔═══════════════ C:\PyModules\eyeD3-0.6.17\src ╤════════╤═02:37
║и                 Имя                  │Размер│  Дата  │Время║
║⌂..                                    │ Вверх│29.05.11│02:37║
║├eyeD3                                 │ Папка│29.05.11│02:34║
║                                       │      │        │     ║
║                                       │      │        │     ║

Отправлено: 02:35, 29-05-2011 | #17


Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska,

1. да. ошибка на этом этапе.

2. и 3. Конечно. все папки на своих местах.

команду
C:\Python26\python.exe C:\PyModules\eyeD3-0.6.17\setup.py install
ввожу в командную строку.
У меня вин7 макс СП1
может я не там прописываю команду или винда тупит?

Последний раз редактировалось Vovchik1900, 29-05-2011 в 06:06.


Отправлено: 05:58, 29-05-2011 | #18


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Vovchik1900, сложно сказать. Я использую Windows XP Professional SP3, доступа к Windows 7 нет — посему, к сожалению, даже не могу попробовать воспроизвести Ваши действия. Здесь: Justin Wishart: Python: eyeD3 Installation on Windows, например, есть подтверждение работоспособности под Windows 7.

Попробуйте, на всякий случай, попробовать исполнить установку в командной строке, запущенной с повышенными привилегиями. Если не поможет — попробуйте задать вопрос на русскоязычных питоношных форумах:
Портал Python-программистов
VPF::Python - Форум программистов
PyDev: Форум python-разработчиков
дав ссылку на данную тему.

Отправлено: 08:50, 29-05-2011 | #19


Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska,
вы писали раньше
будет добавлена папка «eyeD3» со следующим содержимым:
Код: Выделить весь код
« скрыть
Код:

╔════════════ C:\Python26\Lib\site-packages\eyeD3 ═══════╤═════╗
║и                 Имя                   │Размер│  Дата  │Время║
║⌂..                                     │ Вверх│24.05.11│02:30║
║ __init__                            py │  1713│02.02.09│07:54║
║ __init__                            pyc│   845│22.05.11│22:23║
║ binfuncs                            py │  3558│02.02.09│07:54║
║ binfuncs                            pyc│  3102│22.05.11│22:23║
║ frames                              py │ 85569│02.02.09│07:54║
║ frames                              pyc│ 63546│24.05.11│02:24║
║ mp3                                 py │ 28296│02.02.09│07:54║
║ mp3                                 pyc│ 21655│22.05.11│22:23║
║ tag                                 py │ 66306│02.02.09│07:54║
║ tag                                 pyc│ 55821│22.05.11│22:23║
║ utils                               py │  5278│02.02.09│07:54║
║ utils                               pyc│  5687│22.05.11│22:23║
║                                        │      │        │     ║
║                                        │      │        │     ║
Можно ведь эту папку заархивировать и сюда прикрепить?
Я подумал, что если эти файлы себе положу в C:\Python26\Lib\site-packages\eyeD3 то заработает

Последний раз редактировалось Vovchik1900, 30-05-2011 в 07:38.


Отправлено: 10:47, 29-05-2011 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Работа с Mp3 файлами

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Работа с файлами D@n1k007 Программирование и базы данных 2 19-06-2010 16:06
Чудеса с mp3 файлами Antoniooo Лечение систем от вредоносных программ 7 10-04-2009 15:57
Работа с файлами ramo Программирование в *nix 5 23-04-2007 12:33
Работа с файлами в  Pascal paladin Программирование и базы данных 2 26-04-2004 11:31
Работа с *.lng файлами Artya Хочу все знать 2 18-03-2003 14:43




 
Переход