获取spotify播放列表内容时出现意外结果

本文关键字:意外 结果 spotify 播放列表 获取 | 更新日期: 2023-09-27 18:29:18

我需要让数据库保持播放列表内容的最新状态。

我正在为libspotifyAPI使用C#包装器-http://libspotify-sharp.hallerud.se/

目前的工作流程如下

登录,等待播放列表容器加载,加载时收听播放列表加载事件,加载我感兴趣的播放列表时等待播放列表上的所有曲目加载,然后将内容写入数据库。

每次程序启动时,我都会完全清除缓存目录。

我发现这很好,正如预期的那样,大多数时候,当删除正常spotify客户端中的一些曲目时,即使这些曲目已经不在了,api似乎仍然会返回它们(我正在清除缓存目录,所以它们一定在?)。

有人知道是什么原因造成的吗?

更新

我发现API似乎向客户端中可查看的内容返回了不同的信息。我已经在不同的计算机上运行了控制台应用程序,被删除的曲目仍在返回中。正常的spotify客户端没有显示这些,也在多台计算机上进行了测试。在我的应用程序中,我登录,等待播放列表完全加载,然后退出,此应用程序正在执行计划任务。

更新2

我目前正在等待

(playlist.IsLoaded == true && 
playlist.CurrentTracks.All(x => x.IsLoaded && x.Artists.Count() > 0))

使用

session.OnMetaDataUpdated += HandleOnMetaUpdated;

playlist.OnMetadataUpdated += PlaylistMetaUpdated;

获取spotify播放列表内容时出现意外结果

如果播放列表后端运行缓慢,客户端中的更改可能需要一段时间才能到达Spotify后端。只有当它们在后端时,更改才会传递到其他客户端。