C#メモ iTunesのライブラリで音楽コンテンツだけの情報をコンソールに表示してみる

四苦八苦した結果、このやり方に落ち着いたのでメモ。

まず、iTunesにはいくつかファイルを追加。
今回はこんな感じ。

  • ミュージック(30個ちょい)
    12201_01
  • ムービー(1個だけ)
    12201_02

音楽コンテンツとしてはこんな情報を表示する。

  1. アーティスト名
  2. アルバム名
  3. トラック名

で、コードはこんな感じ。

// iTunesAppをインスタンス化する
iTunesApp app = new iTunesApp();

// ライブラリを取得する
// ※この中にはミュージック、ムービー、テレビ番組など全部が含まれる
IITLibraryPlaylist libraryPlaylist = app.LibraryPlaylist;

// ライブラリの音楽ファイルを検索する
foreach (IITTrack track in libraryPlaylist.Tracks)
{
	// 'AAC オーディオファイル'って文字列だったらオーディオと判別してコンソールに表示する
	if (track.KindAsString == "AAC オーディオファイル")
	{
		System.Console.WriteLine(track.Artist + "\t" + track.Album + "\t" + track.Name);
		continue;
	}
}

ミソはKindAsStringってプロパティのとこ。
このプロパティの文字列でミュージックかムービーを判別してる。

実行した結果はこんな感じ。
ムービーファイルは種類がスキップされた。

12201_03

KindAsStringで取得できる文字列はiTunesの各ミュージックあるいはムービーのプロパティの”種別”と同じ文字列になる。
iTunesの各ミュージックあるいはムービーのプロパティの確認方法はこんな感じ。

  1. ライブラリ/ミュージックをクリック。
  2. リストの項目の上で右クリック、メニューの中から”プロパティ”をクリック。
    ※ちなみに、OSXだと”プロパティではなく”情報を表示”になってる
    12201_07
  3. プロパティ画面の”概要”タブで真ん中あたりにある種類の項目の文字列を確認する。
    12201_06

ちなみに、今回のコードはファイル形式がAACだけ。
他のファイル形式(例えばmp3だったり、mpeg4だったり)だけKindAsStringのとこで分岐をしてやる必要がある。

んまま、メモってことで。