Edited at

getID3()を使った音楽ファイルの情報取得

More than 5 years have passed since last update.


インストール

http://en.sourceforge.jp/projects/freshmeat_getid3/ から手に入れるか Ubuntu であれば

$ sudo apt-get install php-getid3

とすれば /usr/share/php-getid3 にインストールされる.


使い方

<?php

$filename = '/path/to/music.m4a';
require('/usr/share/php-getid3/getid3.php');
$getID3 = new getID3();
$info = $getID3->analyze($filename);
getid3_lib::CopyTagsToComments($info);

そのままだとタイトルがどこにあるかはファイル(を作ったエンコーダー)によって異なるので,CopyTagsToComments を使うことによって comments 要素にまとめる.


構造

$info として返ってくる構造は非常に複雑であるが概ね以下さえ扱えれば十分である.

{

"comments": {
"picture": [
{
"data": '画像データ (バイナリ)',
"image_mime": '画像のMIME (e.g. "image/jpeg")'
}
],
"title": ['タイトル'],
"artist": ['アーティスト'],
"album": ['アルバム'],
"genre": ['ジャンル'],
"track_number": ['トラック番号 (e.g. "1/4")'],
"creation_date": ['発売年']
},
"playtime_seconds": '曲の長さ (e.g. 123.4567)',
"bitrate": 'ビットレート (e.g. 192847.4498)',
"playtime_string": '曲の長さ (e.g. "4:32")'
}

comments_html 要素も存在する.これは comments を HTML として出力できるようにエスケープしたものである.