LoginSignup
2
1

More than 3 years have passed since last update.

PHPでMP3ファイルのID3タグを操作する

Posted at

はじめに

MP3ファイルを再生したり管理したりするアプリを製作した際ID3タグの
扱いで色々試したのでメモ

ID3タグとは

iTunesなど一度は目にしたことがある目にする「曲名」、「アーティスト」、「アルバム」などの音源ファイルに紐付けられたデータのことである。これは通常、iTunesなどの再生用アプリのほか、様々なフリーソフトを活用して編集することができる。

以下ID3タグWikiより引用
ID3タグはMP3ファイルに元々組み込まれていた仕様ではなく、1996年に公開された「Studio3」というソフトウェアに組み込まれたのが始まりである。以後、様々なバージョンの規格が作られた。

ID3を追加したり、書き換えたりするソフトウェアはいくつか存在する。代表的な物はWinamp、SuperTagEditorシリーズ、mp3infp、Mp3tag等。

参考:ID3タグWikiPedia

PHPでID3タグを取り扱う方法その1

PHPでID3タグを扱う方法としてPECL拡張モジュールをインストールする方法がある。
一度設定してしまえばID3関数として呼び出しが可能なため、利用できる環境であれば
お勧めの方法。

参考:PHPリファレンス ID3インストール

よく使う関数

・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()

また、composerを使うなら、id3で検索すると様々なパッケージがヒットするので、
評価が高いものを試してみても楽しいかと!
Packagistでのサーチ

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1