Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Quando estamos construindo um player de música ou uma aplicação que exibe informações de faixas, uma dúvida comum é como obter a arte do álbum usando só o nome da música e do artista. A maioria dos métodos disponíveis pede o nome do álbum, o que nem sempre temos na mão, especialmente em apps que trabalham com arquivos locais ou streams.
Na prática, o que dá trabalho depois é integrar APIs que retornem essa capa de forma confiável com base apenas nesses dois dados. Tenho visto algumas soluções que usam APIs públicas de bancos de dados musicais, como Last.fm, iTunes Search API, ou até o Spotify, porém, cada uma tem suas limitações de acesso e uso. O ideal é montar uma estratégia que combine uma busca inicial com uma API, seguida de validações ou cache local para evitar requisições frequentes.
O que vocês acham de usar APIs como a do iTunes, que oferece buscas por artista e música, mesmo sem precisar do álbum? Ou vocês preferem criar uma camada de heurísticas com algum serviço de rastreamento de metadados musicais? No meu time, a dúvida que fica é sempre sobre a confiabilidade e o custo dessas chamadas, além do impacto na experiência do usuário. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
Exato, e o impacto na experiência também pesa.
Boa, mas acho que além da API, é importante pensar na cache dessas capas. Se o app for usar bastante, o custo de requisições pode ficar alto, e aí só uma estratégia de cache resolve o problema.
Concordo, Mauro. Além do mais, às vezes a API nem retorna a capa que a genet espera, dependendo do artista ou da música.
Já passei por isso na prática. O que funciona bem pra mim é usar a API do iTunes, que geralmente traz resultados confiáveis, e guardar as capas localmente para não fazer requisições repetidas.