【问题标题】:How can I see that an album is from "Various Artists"我如何才能看到一张专辑来自“Various Artists”
【发布时间】:2014-04-15 10:18:07
【问题描述】:

目前我正在编写自己的小型(基于网络的)音乐播放器。但我因为一些专辑而失败了。我将有关歌曲、专辑和艺术家的所有信息存储在 NoSQL 数据库中,如下所示:

{
    "artist" : "Some artist",
    "albums" :
    [
        {
            "name": "Some album",
            "info" :
            {
                "id" : ObjectId("534a7d66f1053d665015825b"),
                "released" : "2013"
            },
            "songs" :
            [
                {
                    "name" : "Some song",
                    "file" : "music.mp3",
                    "time" : 219,
                    "id" : ObjectId("534a7d66f1053d665015825c")
                }
            ]
        }
    ],
    "_id" : ObjectId("534a7d66f1053d665015825d")
}

现在我想向用户显示他拥有的所有相册。没问题。遍历所有艺术家,选择所有专辑,将它们展示给用户。如果没有编译,这会很好用。当我显示上述所有专辑时,用户会多次看到合辑,每个艺术家一次。

现在我查看了我当前的音乐播放器 - Banshee - 并看到它将所有合辑显示为来自“Various”的专辑。但它怎么知道?它不在 ID3 标签中。我唯一能想到的就是:如果超过一半的歌曲来自不同的艺术家->“Various”。这是解决方案吗?或者你们还知道别的吗?

【问题讨论】:

    标签: algorithm mp3 audio-player id3


    【解决方案1】:

    需要考虑的事项:

    • 我认为最好的解决方案是使用大多数玩家都能理解的 ID3Tag。 ID3 并不真正包含实现此目的的标签,但有几个标签可用于此目的。有关说明,请参阅this answer
    • 您提出的算法在当时最有效,但有两种极端情况。
      1. 艺术家的专辑,但混合了许多“壮举”,例如Featuring Luciana
      2. 只有两三位艺术家的专辑,但仍然是合辑

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      • 1970-01-01
      • 2016-07-20
      • 2021-11-25
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多