2015/09/15

ID3v2.3対応!それと...

ID3v2.3の読み込みに対応しました!
これによりMVP V2に歌詞表示機能とアートワーク表示機能が追加されました!

やりましたよーー
ID3v2はv1と全然違って容量が可変長なので非常に難しかったです。
特に手こずったのはタグ全体のサイズを求めるためのシンクセーフ整数ですが

  1. データの4バイトを読み込み
  2. 各バイトを8ビットへ変換(合計32ビット)
  3. 8ビットのうち先頭の1ビットを削除(合計28ビット)
  4. すべてのビット列を先頭から順に結合
  5. 結合したビット列を整数へ変換
という手順でやっとこさ変換でき、サイズがわかりましたw
別に特定のフレームのみ抜き出すのならサイズなんて取得しなくてもいいんですが、できるだけメモリを削減させたプログラムにしたいので仕方なくがんばりましたw
ちなみにフレームごとのサイズはシンクセーフ整数ではないので簡単に求められますよ~

アートワーク表示機能に関しては元々ファイルと同じディレクトリのfolder.*という画像データを探して表示していたのですが、mp3ファイルのタグ内にあるアートワークも表示できるようになったということです。mp3でなければ従来通りfolder.*を探します。

歌詞表示機能はmp3タグ内のUSLTフレームのみ対応しています。(今のところは)

あともう少しでMVP V2を公開できそうなのでお楽しみに~~

0 件のコメント:

コメントを投稿