编辑本地媒体文件元数据信息

Posted

技术标签:

【中文标题】编辑本地媒体文件元数据信息【英文标题】:Edit local media file metadata information 【发布时间】:2019-08-18 22:42:18 【问题描述】:

我设法从远程源下载音频文件,我想更改它的元数据,例如作者、标题、专辑。

我将它保存在本地,以便轻松访问和编辑,但我找不到任何东西来编辑它的元数据。

我试过了: android.Media.MediaMetadataEditor 但错误很简单:

This class is obsoleted in this android platform

我正在为 android Pie 使用最新的 SDK (28) 和 API。而且还注明on android developer documentation

此类在 API 级别 21 中已弃用。 将 MediaMetadata 与 MediaSession 一起使用。

我确实搜索了一些示例,但没有找到任何有用的东西,大多数情况下都是播放列表。

我不明白 MediaSession 如何以任何方式替换 MediaMetadataEditor,因为 MediaSession

允许与媒体控制器、音量键、媒体按钮和传输控件进行交互。

当应用想要发布媒体播放信息或处理媒体密钥时,应该创建一个 MediaSession

MediaMetadata 似乎是我需要的,因为

包含有关项目的元数据,例如标题、艺术家等。 而且它的 Builder 类很有前途。

我确信只要阅读那些页面我就应该能够理解如何做到这一点,但经过数小时的尝试,我似乎没有足够的经验来从该文档中学习。

有例子可以理解吗?

谢谢

【问题讨论】:

【参考方案1】:

我在 android Library 之外找到了一个解决方案。

taglib-sharp 好像在android项目上工作,可以通过nuget包安装,名字是TagLibSharp

真的很容易使用:

TagLib.File my_file = TagLib.File.Create(path_to_my_file);
string[] performers = new string[1]"My Performer"

my_file.Tag.Title = "The real title";
my_file.Tag.Performers = performers;

my_file.Save();

简单。

【讨论】:

以上是关于编辑本地媒体文件元数据信息的主要内容,如果未能解决你的问题,请参考以下文章

HDFS设计之namenode和datanode

Android多媒体信息获取

云存储实现之简单的文件存储

云存储实现之简单的文件存储

vim编辑器械

寻找用于编辑 AAC 元数据(M4A 文件)的开源库 [关闭]