Category:
Computer
.NET TIPS - MP3ファイルからタイトルやアーティスト名などを取得するには?[C#、VB] - @IT
へぇ、外部 DLL を用意しなくても、Windows の標準機能で基本的な ID3 タグは読めるんですね。LM 2.1.1 で組み込んでみるとしましょうか。
でも、最後の一文
へぇ、外部 DLL を用意しなくても、Windows の標準機能で基本的な ID3 タグは読めるんですね。LM 2.1.1 で組み込んでみるとしましょうか。
でも、最後の一文
上記の結果はWindows XP Professional SP2の既定の状態で実行したときのものだ。ってのが気になるんですけど・・・。Windows XP じゃないと使えないのかな?むーん。
Comments
確かexplorerでID3v1/v2が読めるようになったのはXPからだったと思う。
Vistaの方でも見てみたら、「歌詞」の項目が無くなっている。。。
・・・どうでもいいけど最近のサンプルはC#ばかりでC++でやってくれないので悲しいorz
情報ありがとうございます。やっぱり XP からなんですね。。。
ちょっと調べてみたところ、こんな情報を発見。
http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200301/03010006.txt
> FAT32などでは、1つのファイルに1つのストリーム(無名ストリーム)しか
> 書き込む事ができませんが、NT3.1, 3.5x, NT4, 2000, XP等で利用される
> NTFSでは、1つのファイルに複数のストリームを割り当てることができます。
(中略)
> XPの概要タブで使われる
> ストリームの名前は、『Chr(5) & "SummaryInformation"』という文字列になっていますので、
> Path = "C:\test.txt:" & Chr(5) & "SummaryInformation"
> というファイル名で読み込めばOKです。
知らなかった。。。
でも MP3 ファイルについては ID3 タグを読んでる=直接ファイルを書き換えている、ということ?
何かごちゃごちゃしてるなぁ。
(メタ情報を保持しないファイルフォーマットにまでメタ情報設定欄を与える必要はない気が。テキストファイルにカテゴリとかキーワードとか一々設定する人なんていないでしょうに・・・)
>>ねぼすけさん
エクスプローラで設定した歌詞は、iTunes 側の「歌詞」に反映されるようです。
逆は無理みたいですね。変なこと試させてしまってスミマセンでした。
詳しいところ、調べて次記事にしてみました。
C++ より VB / C# の方が敷居が低い(個人的な印象ですが)分、サンプルコードの需要が高いのかも知れないですね。
*
GetDetailsOf があるなら SetDetailsOf があるんじゃないか、という予想は完全に外れて、ID3 タグの書き込みはどうやら自前でやらなければならないらしい。がっかり。
そうみたいですね。ちなみに、読み込まれるのはID3v2優先、書き込みはID3v1とID3v2の両方を書き換えるみたいです。ID3v1にポータブルCDプレイヤー用の情報を書き込んでる漏れにとっては使い物になりません><
(漢字やひらがなが扱えないんです><)
> メタ情報を保持しないファイルフォーマットにまでメタ情報設定欄を与える必要はない気が。
グレイアウトしてました@WinXP(Pro) SP2
ID3v2.x には対応していた気がしますが、iTunes との相性(Unicode で書くので)が悪くてあまり使わなかったという。。。
> グレイアウトしてました@WinXP(Pro) SP2
うちも同じ環境(但し NTFS ボリューム)ですね。グレイアウトしているのは FAT32 だからかも?