// 同期実行版。いるかな? // 01/08/2008 by aldente : ~Accessorに移植. // 05/24/2007 by aldente : static化 // 05/15/2007 by aldente #region *[static]ファイルからID3タグを読み込み(ReadFile) /// <summary> /// mp3ファイルからID3タグを読み込みます. /// タグが見つからなければnullを返します. /// </summary> /// <param name="filename">読み込むファイル名.</param> /// <returns>該当するバージョンのタグオブジェクト.</returns> public static async Task <IID3Tag> ReadFile(string fileName) { IID3Tag tag; //SongInfo info = new SongInfo(); if (!File.Exists(fileName)) { // ファイルがないぞ! return(null); } // 拡張子が"rmp"の場合は,RIFFとして開く. if (Path.GetExtension(fileName).ToLower().EndsWith("rmp")) { return(await RIFFMP3Tag.ReadFromFileAsync(fileName) as RIFFMP3Tag); } else { // ID3v2をチェック. tag = await ID3v2Tag.ReadFile(fileName); ID3v1Tag tag1 = await ID3v1Tag.ReadFile(fileName); if (tag != null) { if (tag1 != null) { tag.Merge(tag1); } return(tag); } return(tag1); } }