2013-10-11 34 views
0

这可能吗?它有多简单?阅读Xamarin/Android中的ID3标签?

我加入TaglibSharp,一个ID3库C#我已经用于在.NET应用程序很长一段时间的参考,但它不活性/任何类内检测。标签库是专为(我认为)单声道/ .NET 3.5,但我假设它需要“重建”为Android? (我打开了库的源代码,Visual Studio和Xamarin中的平台的唯一选项是Mono和.NET的变体)

如果使用Taglib不可行,因为它不会在Android上工作平台,有没有另一种方式?我已经搜索相当广泛了Xamarin ID3支持和所有我发现是this

有人能指出我正确的方向吗?

+0

你需要从源代码编译TaglibSharp。 – Jason

+0

@Jason Hmmm..I想象我可以随意在Github上的完整的解决方案,并与Visual Studio构建它,但不要我需要建立它Xamarin/Android的,比.NET不同的东西?我在.NET之外工作的经验并不多。 – Wilson

+0

你读过[this](http://stackoverflow.com/a/6306735/2246344)吗? – Sam

回答

3

您应该能够使用Android.Media.MediaMetadataRetriever类来读取你需要的所有信息。

下面是如何得到一个文件的标题为例,

MediaMetadataRetriever reader = new MediaMetadataRetriever(); 

reader.setDataSource("some file path"); 

String title = reader.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE); 

MediaMetadataRetriever.extractMetadata()选项,

  • MetadataKeyAlbum:元数据键检索 有关信息数据源的专辑标题。

  • MetadataKeyAlbumartist:元数据关键 检索与数据源相关 表演者或艺术家的信息。

  • MetadataKeyArtist:元数据键检索 有关数据源的艺术家的信息。

  • MetadataKeyAuthor:元数据键检索 有关数据源作者的信息。

  • MetadataKeyBitrate:如果可用,该密钥检索平均比特率(以位/秒为单位) 。

  • MetadataKeyCdTrackNumber:元数据 键检索描述数据源在其原始记录上的顺序的数字字符串。

  • MetadataKeyCompilation:元数据键 检索音乐专辑编辑状态。

  • MetadataKeyComposer:元数据关键字 检索有关数据源的作曲者的信息。

  • MetadataKeyDate:元数据键检索 创建或修改数据源的日期。

  • MetadataKeyDiscNumber: 的元数据键检索描述音频数据源来自哪组音频数据源的集合的数字字符串。

  • MetadataKeyDuration:元数据密钥 检索数据源的播放持续时间。

  • MetadataKeyGenre:元数据密钥检索 数据源的内容类型或流派。

  • MetadataKeyHasAudio:如果此密钥存在, 媒体包含音频内容。

  • MetadataKeyHasVideo:如果此密钥存在,则 媒体包含视频内容。

  • MetadataKeyMimetype:元数据密钥 检索数据源的MIME类型。

  • MetadataKeyNumTracks:元数据键来检索 轨道,诸如音频,视频,文本的数目,在数据源 诸如MP4或3GPP文件。

  • MetadataKeyTitle:用于检索 数据源标题的元数据关键字。

  • MetadataKeyVideoHeight:如果媒体包含 视频,则此键检索其高度。

  • MetadataKeyVideoWidth:如果媒体包含 视频,则此键检索其宽度。

  • MetadataKeyWriter:元数据密钥检索 数据源的作者(如词作者)的信息。

  • MetadataKeyYear:元数据键来检索年创建或修改数据源时。

Source.

+0

很好,谢谢你的彻底回应。还有一个问题,写ID3标签同样容易,或者完全不同? – Wilson

+0

@威尔逊这里可能有一个隐藏的图书馆,但不幸的是我什么都不知道;这将意味着自己手动编写标签,字节为字节,但这有点棘手。 [这](http://www.codeproject.com/Articles/17890/Do-Anything-With-ID3)应该帮助你,如果你想“手动”。 – Sam