libspotify:如何确定曲目uri是否正确且可播放?
这个问题听起来很简单,但我找不到检查曲目uri是否正确的方法 例如,通过给定的有效曲目uri播放曲目的正常过程是: 1) 通过sp_link获取sp_link*\u从字符串创建sp_(const char*$track\u uri) 2) 通过sp_链接作为sp_轨迹获取sp_轨迹*(sp_链接*) 3) sp_轨道添加_参考(sp_轨道*) 4) 如果sp_track_error()返回sp_error_OK,或sp_error_正在加载但元数据已更新且sp_error_OK,则sp_session_player_load和sp_session_player_加载并播放曲目 5) sp_曲目_release()和sp_session_player_unload()在曲目结束时 现在,如果用户在spotify曲目uri上输入了一个错误,并试图播放spotify:track:5Z7ygHQo02SUrFmcgpwsKQ(最后一个字符Q是一个错误,应该是W)。过程中所有可能的错误检查都不会返回任何错误: 步骤1)sp_链接不为空 步骤2)sp_轨迹*不为空 步骤3)返回SP_ERROR_OK 步骤4)sp_track_error()返回sp_error_正在加载,从未调用更新的元数据,当然程序挂起 加载曲目之前的检查无法发现曲目uri的无效性。APIsp_track_availability听起来像是一种方法,但如果未加载曲目,它将始终返回NOT AVAILABLE,但如果曲目uri不正确,则永远不会加载曲目libspotify:如何确定曲目uri是否正确且可播放?,spotify,Spotify,这个问题听起来很简单,但我找不到检查曲目uri是否正确的方法 例如,通过给定的有效曲目uri播放曲目的正常过程是: 1) 通过sp_link获取sp_link*\u从字符串创建sp_(const char*$track\u uri) 2) 通过sp_链接作为sp_轨迹获取sp_轨迹*(sp_链接*) 3) sp_轨道添加_参考(sp_轨道*) 4) 如果sp_track_error()返回sp_error_OK,或sp_error_正在加载但元数据已更新且sp_error_OK,则sp_sess
我是否遗漏了什么或误解了API?您可以通过检查链接类型来检查uri是否有效,该链接类型说明:
enum sp_linktype {
SP_LINKTYPE_INVALID = 0,
SP_LINKTYPE_TRACK = 1,
SP_LINKTYPE_ALBUM = 2,
SP_LINKTYPE_ARTIST = 3,
SP_LINKTYPE_SEARCH = 4,
SP_LINKTYPE_PLAYLIST = 5,
SP_LINKTYPE_PROFILE = 6,
SP_LINKTYPE_STARRED = 7,
SP_LINKTYPE_LOCALTRACK = 8,
SP_LINKTYPE_IMAGE = 9
}
这使我们有可能执行如下链接检查:
将曲目uri spotify:track:5Z7ygHQo02SUrFmcgpwsKW复制到浏览器的地址栏,然后输入,它将自动切换到spotify应用程序并定位到该相册。我遇到的问题与您遇到的问题相同。我知道这个问题很老,但我想知道你是否真的解决了它。