0

次のAPIを使用しています https://gist.github.com/1285901

私はこれまでこのコードを持っていますが、タグを読み込もうとすると、すべて空白になります(タグとはアーティスト情報などを意味します)

using System;
using System.IO;
using Microsoft.WindowsAPICodePack.Shell;
using Microsoft.WindowsAPICodePack;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Files();
            Console.Read();
        }
        public static void Files()
        {
            FileInfo fi = new FileInfo(@"C:\Users\santised\Desktop\music\");
            DirectoryInfo di = fi.Directory;
            FileSystemInfo[] fsi = di.GetFiles();
            foreach (FileSystemInfo info in fsi)
            {
                Console.Write(info.Name.Replace(".mp3", "") + " Tags: " + Tags(@"C:\Users\santised\Desktop\music\" + info.Name) + "\r\n");
            }
        }
        public static String Tags(String fileName)
        {
            if (File.Exists(fileName))
            {
                var file = new FileInfo(fileName);
                String returnval =  String.Join("; ", file.GetTags()); // .GetTags() is from the api on gist hub
                return returnval;
            }
            return "None;";
        }
    }
}
4

2 に答える 2

0

使用しているライブラリは、Windows内のファイルに起因するタグを取得します。MP3メタデータ(ID3)タグは取得しません。TagLib Sharpなど、ID3タグを読み取ることができるライブラリを見つける必要があります。

于 2012-12-02T21:08:01.350 に答える
0

taglib-sharpを使用できます

ここからダウンロード

そして試してみてください

var file = TagLib.File.Create(address);
              var t1 =  file.Tag.Copyright;
              var t2 =  file.Tag.Album;
              var t3 =  file.Tag.AlbumArtists;
              var t4 =  file.Tag.Title;
              var t5 =  file.Tag.Comment ;
              var t6 =  file.Tag.Composers ;
              var t7 =  file.Tag.Conductor ;
              var t8 =  file.Tag.Grouping;
              var t9 =  file.Tag.Artists ;
于 2012-12-02T21:25:00.687 に答える