同一フォルダ内の.m4aファイルを収集し曲名・アーティスト・そのファイル名を表示したい - PHPプロ!Q&A掲示板

4957

  • 募集中!! 0P

同一フォルダ内の.m4aファイルを収集し曲名・アーティスト・そのファイル名を表示したい

質問日時 / 2018年6月25日 10:54    回答数 / 2件

Questioner:  Hiromitsu  このエントリーをはてなブックマークに追加 

キーワード / m4a    tag情報    読み込み   

最終的には追加情報も含めてmysqlのテーブルに追加するところまでいきたいのですが、全てを手入力でもいいところなのですが、私は全く目が見えないのでプロパティの詳細画面を開いても、正しく入力できるのにとても長い時間を要します。

そこで、同一フォルダ内の.m4aファイルを配列に一度登録し、その要素の個数for文で回して、曲名、歌手名、ファイル名の連想配列のリストを作成して表示させる一連の流れを知りたいです。

id3_get_tagsという関数は見つけましたが、「mp3ファイルに対して」という文言がリファレンスの中にあり、m4aのときはどんな関数を使えばいいのか見つけられず御教授いただきたく投稿させていただきました。

できるだけ参考URLの紹介ではなく、関連する関数のプロトタイプと役割を回答欄に書いていただけると助かります。


ツリー一覧

┗A01shimix私自身は、ID3もKTaglibもローカルテストしたことがあ
 ┗A01-1Hiromitsu皆さん詳しい説明をありがとうございました。今回の大

回答一覧

並び替え:

A01 満足
answerershimix [6月25日 16:43] (最終編集:6月26日 09:40)

私自身は、ID3もKTaglibもローカルテストしたことがありません。なのでid3_get_tagがmp3以外で本当に動かないのかどうかも未検証です。id3_get_tagが動作する環境の構築ができているなら、まずは試してみては如何ですか?

閑話休題

公式マニュアルの「音声フォーマットの操作」にある以外には標準関数は存在しません。というかID3もKTaglibもPECL拡張モジュールですから「標準」というには語弊がありそうです(汗

もしID3でもKTaglibでも無理だったら、あとはファイルを「バイナリ」として自前で解析するしかありません。「m4aファイル 構造」で検索すれば、m4aファイルの構造を説明しているサイトはHitすると思います。

(例)
https://qiita.com/takahiro_itazuri/items/12da96025e4343e4ded2
https://blog.goo.ne.jp/sirius506/e/adf58c3ee6a31ff15606c6503f3af414

#URLは云々と書かれてもこれは仕方ないですよね


ちなみに・・・。「同一フォルダ内の.m4aファイルを収集し」という部分はglob一発なので問題ないのですよね(ファイル名 → タグの取得がわからないだけですよね)。




(蛇足)
ファイル(バイナリ)の解析はphpよりもローカルのアプリの方が楽じゃないかなとも思いますけどね。m4aファイルを読んでそのタグデータを拡張子を.txtにしたものに書き出すアプリとか作る方が手っ取り早いです(というかそういうフリーソフトもありそうな気がしますけどねぇ)。

この意見に回答する

ツリーへ TOPへ

A01-1
replyerHiromitsu [6月26日 17:34]

皆さん詳しい説明をありがとうございました。今回の大きな収穫です。



いろいろ試しましたが、結局スクリーンリーダーの通常はコピーできない範囲をコピーする機能を使ってcsv形式のテキストファイルに仕上げました。

あとはファイルから1行ずつ読み込んで並び順にinsert intoすればいいだけのところまでたどり着きました。

id3_get_tagが標準関数ではないことを知れたのが、

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)