一.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; }