【问题标题】: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 类很有前途。

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

有例子可以理解吗?

谢谢

【问题讨论】:

    标签: c# android metadata media


    【解决方案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();
    

    简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多