Windowsでしか動作しないと思われます。
[STAThread]
public static string GetTitleFromFile(string file)
{
    const int index = 21; // タイトル
    var app = Type.GetTypeFromProgID("Shell.Application");
    if (app is null) return "";
    dynamic? shell = Activator.CreateInstance(app);
    if (shell is null) return "";
    var folder = shell.NameSpace(Path.GetDirectoryName(file));
    var item = folder.ParseName(Path.GetFileName(file));
    string ret = folder.GetDetailsOf(item, index);
    return ret;
}GetDetailsOf()の引数のindexを変えることで以下のプロパティを取得することが出来ました。
//18.タグ
//19.評価
//21.タイトル
//24.コメント
//27.長さ
//215.サブタイトル
//313.データ速度
//314.フレーム高
//315.フレーム率
//316.フレーム幅
//320.総ビットレート
 
  
  
  
  

コメント