Android:未知专辑,艺术家,音乐类型将如何显示?

时间:2012-09-28 14:09:21

标签: android android-mediaplayer audio-player

我正在Android中开发一个音乐应用程序,当检索歌曲的专辑,艺术家,流派名称时,我得到了一些不为人知的名字。

对于专辑,未知专辑名称显示为“音乐”。 对于艺术家,未知的艺术家姓名显示为“” 对于流派,未知类型显示为“”

所有设备上的这些默认名称是否相同?因为我想将这些未知名称重命名为更具可读性 - 例如:“未知艺术家”或“未知专辑”

我曾尝试过只有2个设备,发现未知的相册名称显示为“音乐”但未知的艺术家名称在两个设备中的显示方式不同。

我想知道如何处理这些未知名称。

2 个答案:

答案 0 :(得分:4)

似乎你需要UNKNOWN_STRING

  

未知媒体属性时使用的字符串。例如,如果音频文件没有任何元数据,则艺术家和专辑列将设置为此值。

我在这里检查了MediaPlayer安卓代码,实际上默认它正在执行以下步骤:

  • 检查ContentProvider中的字符串是否为UNKNOWN_STRING;
  • 如果是这样,它会被资源中的一些字符串改变(我怀疑你真的需要那些字符串);

因此,您只需要检查ContentProvider为MediaStore.UNKNOWN_STRING返回的数据,并按照您的喜好处理它。 (例如,在所有设备上提供相同的字符串) 例如,checkout com.android.music.MediaPlaybackActivity source,它包含以下代码:

if (MediaStore.UNKNOWN_STRING.equals(albumName)) {
    albumName = getString(R.string.unknown_album_name);
    albumid = -1;
}

答案 1 :(得分:1)

如果您的音频媒体没有相册元数据,那么android扫描程序会将相册名称设置为包含您媒体的文件夹的名称。