Вы не зашли.
Главная » PHP » id3 теги
#1. Jaki Off (0)
Участник
2013.08.10 21:09
Я тут задался вопросом...А как мне вывести инфу об mp3 файле? Многое пробовал, но не подходит или не работает. Знаю что есть такая библиотека pear, но как правильно её подключить незнаю. Помогите
#2. Gemorroj Off (107)
Administrator
2013.08.11 09:09
1 - http://php.net/manual/ru/book.id3.php
2 - https://github.com/Gemorroj/MP3_Id3*

* - Добавлено в "Proposals", но народ что-то активности не проявляет. Такое ощущение, что PEAR скорее мертв, чем жив.
#3. Jaki Off (0)
Участник
2013.08.12 02:02
У меня ещё вопрос я скачал всё и подключил. Всё работает, но если файл выводится из базы как мне прописать его. Как я понимаю http:// использовать нельза
#4. Jaki Off (0)
Участник
2013.08.12 07:07
Поломал голову, просидел ночь и поставил pear теперь работает, но русский в тегах не работает подскажите что делать
#5. Gemorroj Off (107)
Administrator
2013.08.12 10:10
Jaki, через iconv конвертить в нужную кодировку.
#6. Jaki Off (0)
Участник
2013.08.12 16:04
А как правильно конвертить?
Вот код:
<?php
require_once './id.php';
// Создаем объект, читаем файл
$id3 = &new MP3_Id();
$result = $id3->read('./files/downloads/6/'.$file['file_id'].'/'.$file['real_name'].'');
if (PEAR::isError($result) && $result->getCode() !== PEAR_MP3_ID_TNF) {
die($result->getMessage() . "\n");
}


// Читаем поля и выводим информацию
echo 'Название: ' . $id3->getTag('name') . "<br/>";
echo 'Исполнитель: ' . $id3->getTag('artists') . "<br/>";
echo 'Альбом: ' . $id3->getTag('album') . "<br/>";
echo 'Год: ' . $id3->getTag('year') . "<br/>";
echo 'Жанр: ' . $id3->getTag('genre') . "<br/>";
?>
Куда код вставлять?
#7. Gemorroj Off (107)
Administrator
2013.08.12 17:05
Это только Idv1 теги. Сейчас как чаще Idv2 используются уже.
А конверить, анпример так:
Код:
span style="color: #0000BB"><?php$name = $id3->getTag('name') ;$name = iconv('Windows-1251', 'UTF-8', $name);echo $name;
#8. Jaki Off (0)
Участник
2013.08.12 18:06
Спасибо всё работает. А как idv2 подключить?
#9. Gemorroj Off (107)
Administrator
2013.08.12 20:08
выше 2 ссылки
#10. Jaki Off (0)
Участник
2013.08.12 20:08
Да я там понять ничего не могу. Можно доходчивым языком написать как подключить и как вывести и всё
#11. Gemorroj Off (107)
Administrator
2013.08.12 20:08
там даже примеры есть
#12. Jaki Off (0)
Участник
2013.08.12 21:09
С помощью него можно обложку альбома вывести?
Добавлено спустя   9 минут  23 секунды:
Есть какой-нибудь упрощённый пакет или откуда его вырезать можно
#13. Gemorroj Off (107)
Administrator
2013.08.12 22:10
Jaki, да, тег APIC - это idv2 тег. в примере даже как раз он и отображается.
#14. Jaki Off (0)
Участник
2013.08.12 22:10
Можешь код вывода информации из mp3 и обложки написать в idv2
#15. Gemorroj Off (107)
Administrator
2013.08.12 23:11
https://github.com/Gemorroj/MP3_Id3/blo … /README.md
#16. Jaki Off (0)
Участник
2013.08.12 23:11
У меня вопрос а это
Warning: require_once(MP3/IDv2/Reader.php):
где?
#17. Jaki Off (0)
Участник
2013.08.13 00:12
Всё получилось сделать, но как сделать вывод как в 1 моём примере тоесть в нормальном виде
#18. Jaki Off (0)
Участник
2013.08.13 00:12
То есть как в 6 посте
#19. Jaki Off (0)
Участник
2013.08.13 00:12
И как убрать ошибки
trackNumber - ��6/12
trackTitle - ��American Noise
artistName -
albumTitle - ��Rise
albumArtist - ��Skillet
year - ��2013
genre - MP3_Id3_Genre Object ( [id:protected] => [name:protected] => )
comment -
composer -
copyright -
url -
encodedBy -
#20. Jaki Off (0)
Участник
2013.08.13 16:04
Gemorroj как вывести каждый тег по отдельности
#21. Gemorroj Off (107)
Administrator
2013.08.13 19:07
https://github.com/Gemorroj/MP3_Id3/blo … Id3/Id.php
Код:
span style="color: #0000BB"><?php$id3 = new MP3_Id3('./file2.mp3');$tags = $id3->getTags();echo $tags->getComment();echo $tags->getComposer();// и т.д.
#22. Gemorroj Off (107)
Administrator
2013.08.13 22:10
я тут на днях обнаружил, что пакет на голосование не поставил (там 3 стадии вобщем, запутанно). так что может еще и примут в основной репозиторий.
#23. Jaki Off (0)
Участник
2013.08.13 23:11
Всё сделал, но iconv не помогает вообще
Добавлено спустя   3 минуты  51 секунду:
Посоветуйте что-нибудь для автоматического определения кодировки
#24. Jaki Off (0)
Участник
2013.08.14 00:12
Как определить версию id3 тега с помощью pear
#25. Gemorroj Off (107)
Administrator
2013.08.14 09:09
Jaki написал:
Посоветуйте что-нибудь для автоматического определения кодировки
считай, что такое невозможно. можно лишь определить UTF-8 или нет.
Jaki написал:
Как определить версию id3 тега с помощью pear
хм, честно говоря не интересовался. В свободное время попробую реализовать.
#26. Jaki Off (0)
Участник
2013.08.14 17:05
Как сделать так чтобы если картинки в треке нет она не отображалась
#27. Gemorroj Off (107)
Administrator
2013.08.14 18:06
Код:
span style="color: #0000BB"><?phpif ($tags->getPicture()->getData()) { // картинка есть} else { // картинки нет}
#28. Jaki Off (0)
Участник
2013.08.14 19:07
Вот может кому надо вывод всех idv2 idv1 тегов
<?php
require_once 'MP3/Id.php';

$id3 = &new MP3_Id();
$result = $id3->read('./files/downloads/6/'.$file['file_id'].'/'.$file['real_name'].'');
if (PEAR::isError($result)) {
set_include_path(dirname(__FILE__) . '/PEAR');
require_once 'MP3/Id3.php';

$id3 = new MP3_Id3('./files/downloads/6/'.$file['file_id'].'/'.$file['real_name'].'');
$tags = $id3->getTags();

if ($tags->getPicture()->getData()) {
    // картинка есть
    foreach ($tags as $k => $v) {
    if ($k === 'picture') {
        echo '<center><img src="data:' . $v->getMime() . ';base64,' . base64_encode($v->getData()) . '" alt="picture" style="width:170px;height:170px"/></center><br/>';
    }
}
}
else {
echo '<center><img src="http://mp3panda.ru/views/default/images/noimg.jpg" style="width:170px;height:170px" /></center><br/>';
}



$name = $tags->gettrackTitle() ;
$name = iconv('UTF-16', 'UTF-8', $name);
echo 'Название: '.$name.'<br/>';

$artist = $tags->getartistName();
$artist = iconv('UTF-16', 'UTF-8', $artist);
echo'Исполнитель: '.$artist.'<br/>';

$album = $tags->getalbumTitle() ;
$album = iconv('UTF-16', 'UTF-8', $album);
echo 'Альбом: '.$album.'<br/>';

$year = $tags->getyear() ;
$year = iconv('UTF-16', 'UTF-8', $year);
echo 'Год: '.$year.'<br/>';

}

else {
echo '<center><img src="http://mp3panda.ru/views/default/images/noimg.jpg" style="width:170px;height:170px" /></center><br/>';

$name = $id3->getTag('name') ;
$name = iconv('Windows-1251', 'UTF-8', $name);
echo 'Название: '.$name.'<br/>';

$artists = $id3->getTag('artists') ;
$artists = iconv('Windows-1251', 'UTF-8', $artists);
echo 'Исполнитель: '.$artists.'<br/>';

$album = $id3->getTag('album') ;
$album = iconv('Windows-1251', 'UTF-8', $album);
echo 'Альбом: '.$album.'<br/>';

$genre = $id3->getTag('genre') ;
$genre = iconv('Windows-1251', 'UTF-8', $genre);
echo 'Жанр: '.$genre.'<br/>';
}

?>
Добавлено спустя   2 минуты  7 секунд:
Почему-то ещё не все теги выводит
#29. Jaki Off (0)
Участник
2013.08.14 20:08
Ещё не работает получение жанра в idv2
#30. Gemorroj Off (107)
Administrator
2013.08.14 20:08
Jaki, ты очень коряво все сделал. Почитай как работать с PEAR пакетами.
в genre отдается объект с жанром.
#31. Jaki Off (0)
Участник
2013.08.14 20:08
Где прочитать? Я бы сюда не зашёл и не задавал вопросов, если бы нашёл где прочитать.
Добавлено спустя   9 минут  10 секунд:
Gemorroj написал:
Jaki, ты очень коряво все сделал. Почитай как работать с PEAR пакетами.
в genre отдается объект с жанром.
как? Напиши как жанр получить? И в чём корявость кода?
#32. Gemorroj Off (107)
Administrator
2013.08.14 21:09
Jaki, http://pear.php.net/manual/ru/installation.getting.php
как теги получить - в примере на странице пакета.
если ты так и будешь просто копировать код, который тебе пишут, никогда ничему не научишься.
#33. Jaki Off (0)
Участник
2013.08.14 22:10
А ты кинь мне ссылку на ту самую статью где написано как теги получать?
#34. Gemorroj Off (107)
Administrator
2013.08.14 22:10
#15 пост
https://github.com/Gemorroj/MP3_Id3/blo … /README.md
#35. Jaki Off (0)
Участник
2013.08.14 23:11
Это вообще не инструкция, а пару слов и маленький пример
Страниц: 1 2 3 4 Все
Главная
WEB
PunBB Mod v0.6.2
0.033 s