开源的.NET媒体文件操作组件TagLib#解析

本文介绍了开源组件TagLib#,用于处理包括视频、音频和照片在内的媒体文件元数据。TagLib#支持多种文件格式,如MP3、FLAC等,并在GitHub上持续维护。文章详细讲解了TagLib#的应用场景,如解析照片、加载音频文件等,并提到了一个针对不同.NET平台的扩展库。同时,文章也概述了核心对象,如File.Create()和File.WriteBlock()的方法。
摘要由CSDN通过智能技术生成

一.TagLib#组件概述

   TagLib#用于处理媒体文件,例如视频,音频和照片等等,TagLib#采用LGPL和MPL两种开源协议。TagLib#是用于读取和编辑几种流行音频格式的元数据的库。目前,它支持 MP3文件的ID3v1和ID3v2,FLAC,MPC,Speex,WavPack,TrueAudio,WAV,AIFF,MP4和ASF文件中的Ogg Vorbis注释和ID3标签和Vorbis注释。

   该组件属于比较老的一种了,在GitHub上一直都在更新修改。该库由2001年开始创建,但是该库一直有人在维护,需要使用到相关功能的同学,可以看看该组件。该组件的当前版本为2.1 。该库的地址:https://github.com/mono/taglib-sharp。

   TagLib#(又名taglib-sharp)是一个用于阅读和写作的库媒体文件中的元数据,包括视频,音频和照片格式。

   这个玩意的文档真是少,国内国外翻遍了,也没找到多少,写一篇不容易啊。

   在这里提供一个该库的扩展:https://github.com/timheuer/taglib-sharp-portable,该扩展库支持.NET Framework 4.5+,Windows 8+,Windows Phone 8.1,Windows Phone Silverlight 8,Xamarin.Android,Xamarin.iOS。

二.TagLib#组件应用

   上面介绍了组件的背景和简单的叙述,下面就该介绍一下简单的应用,毕竟无法应用的组件,没有介绍的意义。这里如果需要编写较为通用的组件代码,可以自己根据项目需求进行总结,欢迎大家将自己的知识进行分享,分享自己的知识积累。

   1.解析照片

复制代码
  public static TagLib.File ParsePhoto(string path)
        {
           if (string.IsNullOrEmpty(path))
           {
                throw new ArgumentNullException(path);
           }
           TagLib.File file;
            try
            {
                file = TagLib.File.Create(path);
            }
            catch (UnsupportedFormatException uex)
            {
                throw uex;
            }
            var image = file as TagLib.Image.File;
            if (file == null)
            {
                throw new ArgumentNullException("file");
            }
           return image;
        }
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值