Reactjs Spotify Web SDK/Web API存在当前播放状态问题

Reactjs Spotify Web SDK/Web API存在当前播放状态问题,reactjs,web,spotify,Reactjs,Web,Spotify,我目前正在使用Web Player SDK/Web Api在我的应用程序中控制spotify播放。我遇到的当前问题是,每当我播放歌曲时,我都无法检测到歌曲播放的结束,因为 状态。曲目窗口。下一首歌 当听完 player.addListener('player\u state\u changed',state=>{}) “播放队列”中始终有项目,这导致几乎无法检测 这: state&&state.paused&&state.context&&state.context.metadata&&stat

我目前正在使用Web Player SDK/Web Api在我的应用程序中控制spotify播放。我遇到的当前问题是,每当我播放歌曲时,我都无法检测到歌曲播放的结束,因为

状态。曲目窗口。下一首歌

当听完

player.addListener('player\u state\u changed',state=>{})

“播放队列”中始终有项目,这导致几乎无法检测

这:
state&&state.paused&&state.context&&state.context.metadata&&state.context.metadata.uri==null
通常适用于,但是在
state.track\u窗口的情况下。下一首歌
中有任何内容,则不会触发暂停

我想知道是否有人对此有解决方案,或者是否有办法清除特定spotify player实例的播放队列


谢谢

我不确定我是否理解正确,但如果您想检测歌曲何时播放完毕,可以使用当前播放歌曲的ID创建一个名为currentlyPlaying的对象,然后在出现状态更新时,检查state.current\u曲目的ID。如果与currentlyPlaying.id不同,则表示歌曲已完成,下一首歌曲已开始

-----编辑------

有一种方法可以使下一个_轨迹数组为空。如果使用
“uris”
body参数播放歌曲,则可以添加要播放的歌曲数组,最后下一个曲目数组为空。请参见此屏幕截图:

要实现这一点,请查看Spotify API:

我只使用了
“uris”
参数,而不是
“context\u uri”
,并且我在数组中只传递了一首歌曲。这首歌播放后,什么也不播放。

这可能适用于简单的应用程序,但如果我有一个特定的曲目,我想在该曲目完成后播放该怎么办?因为赛道停止了,我就不会有新的比赛了。