はじめに
MP3ファイルを再生したり管理したりするアプリを製作した際ID3タグの
扱いで色々試したのでメモ
ID3タグとは
iTunesなど一度は目にしたことがある目にする「曲名」、「アーティスト」、「アルバム」などの音源ファイルに紐付けられたデータのことである。これは通常、iTunesなどの再生用アプリのほか、様々なフリーソフトを活用して編集することができる。
以下ID3タグWikiより引用
ID3タグはMP3ファイルに元々組み込まれていた仕様ではなく、1996年に公開された「Studio3」というソフトウェアに組み込まれたのが始まりである。以後、様々なバージョンの規格が作られた。
ID3を追加したり、書き換えたりするソフトウェアはいくつか存在する。代表的な物はWinamp、SuperTagEditorシリーズ、mp3infp、Mp3tag等。
PHPでID3タグを取り扱う方法その1
PHPでID3タグを扱う方法としてPECL拡張モジュールをインストールする方法がある。
一度設定してしまえばID3関数として呼び出しが可能なため、利用できる環境であれば
お勧めの方法。
参考:[PHPリファレンス ID3インストール]
(https://www.php.net/manual/ja/id3.installation.php)
よく使う関数
・id3_get_tag — ID3 タグに含まれるすべての情報を取得する
例1 id3_get_tag() の例
<?php
$tag = id3_get_tag( "path/to/sample.mp3" );
print_r($tag);
?>
上の例の出力は、 たとえば以下のようになる。
Array
(
[title] => DN-38416
[artist] => Re:\Legion
[album] => Reflections
[year] => 2019
[genre] => 21
)
・id3_set_tag — ID3 タグに格納されている情報を更新する
例)
<?php
$data = array(
"title" => "Re:Start",
"artist" => "Re:\Legion",
"comment" => "rock is dead..."
);
$result = id3_set_tag( "path/to/sample.mp3", $data, ID3_V1_0 );
if ($result === true) {
echo "タグが正常に更新されました\n";
}
?>
PHPでID3タグを取り扱う方法その2
また、単にID3タグを取得したいだけであれば、
単独の機能のみダウンロードして利用する方法もある。
例)[getID3()]
(http://getid3.sourceforge.net/)
また、composerを使うなら、id3で検索すると様々なパッケージがヒットするので、
評価が高いものを試してみても楽しいかと!
[Packagistでのサーチ]
(https://packagist.org/search/?query=getid3)