Класс для работы с мп3

1. Вадим (12.06.2012 / 04:28)
Представлю вашему вниманию свой класс для работы с mp3 файлами.
Класс для работы с мп3 файлами. Автор SkyFire aka XeOn.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Запрещено продавать класс, выдавать за свой, изменять код класса,
использовать части кода класса. Уважайте чужой труд!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Возможности:
- Чтение / запись тегов в utf-8
- Конвертирование из мп3 в wav, aac, m4a, wma
- Изменение битрейта мп3 файлов
- Нарезка
- Чтение / запись обложки альбома
-----------------------------
В скрипте задействована библиотека getID3 для работы с тегами.
-----------------------------
Пути к файлу и к обложке альбома указывайте от корня сервера но без слеша в начале.
Например файл находится по адресу http://site.ru/dir/file.mp3 тогда путь будет таким: dir/file.mp3 .
Использовать класс легко. Ниже несколько примеров:
<?
//Подключаем класс (допустим что класс лежит в директории с пхп файлом где этот класс используется.

require 'MP3Tool.class.php';
//Создадим объект класса

$mp3 = new MP3Tool();

$file = 'dir/file.mp3'; //Путь к оригинальному мп3 файлу
$outFile = 'dir/new.wav'; //Путь к новому файлу
$bit = '128'; //Битрейт нового файла
$time = array(0, 20); //Время для нарезки в секундах 1 - от, 2 - до
$cover = 'img/cover.jpg'; //Путь к изображению обложки (Допустимый формат jpg или jpeg)
$tags = array(
'album' => 'Альбом', //альбом
'artist' => 'David Guetta', //исполнитель
'title' => 'Test', //название трека
'genre' => 'house', //жанр
'comment' => 'nice track', //комментарий
'year' => '2006' //год
);
//Получаем информацию о файле (Теги и обложку если есть)
//Выведет такие теги как album, artist, title, genre, year, comment и если есть обложка то и обложку в виде строки
//А также bitrate, sample_rate, filesize, duration, channels
//Что-бы обложка стала картинкой просто сохраните ее в файл file_put_contents('cover.jpg', $info['cover']);

$info = $mp3 -> GetMp3Info($file);

//Записываем теги и обложку
//Если нужно записать только теги то третий аргумент не указываем

$mp3 -> Write($file, $tags, $cover); //Записываем теги и обложку альбома

//Конвертируем в wav с битрейтом 128 и обрезаем с 0 до 20 секунды.
//Если обрезать не нужно то просто не указывайте четвертый аргумент

$mp3 -> Convert($file, $bit, $outFile, $time);

?>

Вот вроде-бы и все)))


------------------------------
Для работы конвертирования необходим ffmpeg.
Пишите замечания и пожелания

2. Вадим (12.06.2012 / 04:29)
http://upwap.ru/2546089
На этом форуме нет прикрипления файлов?

3. ramzes (12.06.2012 / 04:36)
2. SkyFire, нет.
молодецsmile полезная штука

4. Вадим (12.06.2012 / 04:50)
Спасибо) Писал еще весной (Март), хотел музыкальный сайт замутить, скрипт для сайта почти дописал, а потом забросил... Вот о классе вспомнил, немного подправил и решил выложить.

5. Вадим (12.06.2012 / 19:23)
В предидущем файле есть одна ошибка при записи тегов неверно определялся путь к файлу. Вот версия с исправлением + добавил копирование тегов при конвертировании (но не тестировал).
------------------------------------------
http://upwap.ru/2547209

6. Вусал (24.09.2012 / 14:42)
скрипт работает... но русские теги показывает криво
типо [artist] => Äîìèíèê Äæîêåð [title] => Ñîêîë Êîëà
как это возможно исправить...

7. Виталий (24.09.2012 / 15:27)
лучше используй Exception для отловли ошибок, а тот кто данный класс будет использовать пусть сам уже решает что с ними делать smile

8. Олег (28.09.2012 / 21:45)
а для конверта не нужна случаем библиотека lame?

9. iNeeXT (28.09.2012 / 22:14)
6. ТАЛЫШ - ПЕРС, наверно нужно изменить кодировку в .htaccess

Добавлено через 00:31 сек.
8. Sliva, ffmpeg нужен там.

10. Дмитрий (28.09.2012 / 22:35)
Прикрепил сюда, дабы на апвапе не потерялся.
Что там хоть за код? Кто смотрел?

11. iNeeXT (28.09.2012 / 23:13)
10. dima.london, нормальный код. Просто класс для работы с getid3.

12. shilo (29.09.2012 / 12:05)
Запрещено продавать класс, выдавать за свой, изменять код класса,
использовать части кода класса. Уважайте чужой труд!
Выложил бы по лицензии MIT, не станет же тебе хуже если кто-то будет использовать части твоего кода в своих проектах.

13. Сергей (29.09.2012 / 13:23)
1. SkyFire, выложи в zip ,или кто перепакует?

URL: https://visavi.net/topics/32547