• C#使用shell32 获取视频的信息


    首先需要引入COM下面的Microsoft Shell Controls And Automation

     

    引入后 名字为Shell32

    点击Shell32 下面会有一个属性框 没有的话右击Shell32 点击属性

    嵌入互操作类型修改为false 否则使用时会报错

     

    代码中使用

    Shell32.Shell shell = new Shell32.ShellClass();
    Shell32.Folder folder = shell.NameSpace(@"D:\视频\测试");
    Shell32.FolderItem folderItem = folder.ParseName("001.mp4");

    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < 321; i++)
    {
       sb.Append(i.ToString());
       sb.Append(":");
       // 我这里电脑是win10系统
       // 这里仅列举了相对比较重要的 音频频道和音频采样频率没有找到
       // 0: 001.mp4 视频名字
       // 1: 214 MB 视频文件大小
       // 2: MP4 文件   文件类型
       // 3: 2021/8/18 14:16 修改时间
       // 4: 2021/8/18 14:54 创建时间
       // 5: 2021/8/18 15:00 访问时间
       // 6: A 文件属性
       /*
       R 只读文件属性。
       A 存档文件属性。
       S 系统文件属性。
       H 隐藏文件属性。
       I 无内容索引文件属性。
       */
       //19: 未分级   星级
       //27: 00:01:24 时长
       //28: 317kbps 音频比特率
       //164:.mp4 文件后缀
       //191:D:\视频\测试 所在文件目录
       //194:D:\视频\测试\001.mp4 文件全路径
       //313: 20821kbps 数据速率
       //314: 1080 帧高度
       //315: 25.00 帧/秒   帧速率
       //316: 1920 帧宽度
       //320: 21138 kbps 总比特率
       
       
       sb.Append(folder.GetDetailsOf(folderItem, i));
       sb.Append("\r\n");
    }
    Debug.WriteLine(sb);

     

  • 相关阅读:
    volatile关键字,使一个变量在多个线程间可见。
    grep sed awk
    mysql高级聚合
    Hive高级聚合GROUPING SETS,ROLLUP以及CUBE
    用SecureCRT来上传和下载文件
    mysql导出导入数据
    redis入门
    spark 常用技巧总结2
    生成数据库字典
    spark 常用技巧总结
  • 原文地址:https://www.cnblogs.com/rchao/p/15793237.html
Copyright © 2020-2023  润新知