Вытаскиваем ID3v2 из аудио файлов.

Дата: Май 6, 2009

(0) комментариев

Сегодня я хочу показать на примере как вытащить максимальное число параметров загруженного на сервер аудио файла. Вытаскивать мы будем информацию о исполнителе, название песни, год, жанр и д.р.
Для того чтоб вытащить всю эту информацию нам на помощь придёт библиотека PEAR, а именно её часть id.php, скачать который можно на официальном сайте разработчика или у меня. А так же нам понадобится само ядро PEAR

скачать
Теперь о том, как нам вытащить эту информацию.
Предположим, что у нас в корне с нашим скриптом находится некий файл 733.mp3
вот с такими данными

Название: indgect
Исполнитель: tyomniy
Альбом: acustic
Год: 2008
Комментарий: www.tyomniy.ru
Жанр: Acapella
Жанр (число): 123
Трэк: 0
MPEG-вeрсия: 1
Layer: 3
Режим: Joint Stereo
Размер файла: 767083 Bytes
Bitrate: 128kB/s
Длительность: 00:47 min
Samplerate: 44100Hz

которые нам очень сильно хочется вытащить :)
Для этого мы напишем скрипт следующего содержания

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
//загружаем библиотеку
require_once 'Id.php';

$file = 'indgect.mp3';

// создаем объект, считываем данные
$id3 = &new MP3_Id();
$result = $id3->read($file);
// Ошибкаr "Tag not found" игнорируется
if (PEAR::isError($result) && $result->getCode() !== PEAR_MP3_ID_TNF) {
die($result->getMessage() . "\n");
}

$result = $id3->study();
if (PEAR::isError($result)) {
die($result->getMessage() . "\n");
}
//выводим параметры трэка на экран
echo 'Название: ' . $id3->getTag('name') . "\n";
echo 'Исполнитель: ' . $id3->getTag('artists') . "\n";
echo 'Альбом: ' . $id3->getTag('album') . "\n";
echo 'Год: ' . $id3->getTag('year') . "\n";
echo 'Комментарий: ' . $id3->getTag('comment') . "\n";
echo 'Жанр: ' . $id3->getTag('genre') . "\n";
echo 'Жанр (число): ' . $id3->getTag('genreno') . "\n";
echo 'Трэк: ' . $id3->getTag('track') . "\n";

//дополнительные параметры мп3
echo 'MPEG-вeрсия: ' . $id3->getTag('mpeg_ver') . "\n";
echo 'Layer: ' . $id3->getTag('layer') . "\n";
echo 'Режим: '.$id3->getTag('mode') . "\n";
echo 'Размер файла: ' . $id3->getTag('filesize

Вот таким простым скриптом можно получить полностью содержимое подписей файла.
пример работы тут

a

    Автор: Sergey




    Нет комментариев на "Вытаскиваем ID3v2 из аудио файлов."

    Нет комментариев.


    Вы можете продолжить обсуждение этой статьи на форуме


    Имя : 
    Почта : 
    Сайт : 
    Комментарий : 

    Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.

    Создание сайта - Echo-group Раскрутка сайтов