简介
spotify-activity-listener
是一个npm包,可以用于获取用户在Spotify应用中的音乐活动。
该包能够获取用户当前正在播放的歌曲、曲目信息、当前播放状态、用户播放历史记录等信息。它是一个轻量级的包,仅依赖于spotify-web-api-js
库。
安装
可以使用npm
来安装这个包,在命令行中输入以下命令:
npm install spotify-activity-listener
如何使用
首先,你需要在https://developer.spotify.com/dashboard/
注册你的应用程序,这将确保你可以访问你需要的API密钥和授权令牌。
接下来,你需要创建一个SpotifyActivityListener
实例,如下所示:
-- -------------------- ---- ------- ------ ----------------------- ---- ---------------------------- ------ ------------- ---- --------------------- ----- ---------- - --- ---------------- ----- --- - --- ------------------------- ----------- ----------- -------- -- -- -------------------- --------- -- -- -------------------- ---
使用SpotifyWebApi
创建了一个Spotify API对象,然后传递它到SpotifyActivityListener
的构造函数中,以便在内部获取OAuth授权的令牌。
onLogin
和onLogout
是可选的回调函数,用于在登录和注销事件发生时执行相关操作。
获取当前播放状态
你可以使用getCurrentPlaybackState()
方法来获取当前的播放状态:
sAL.getCurrentPlaybackState().then((playback) => { console.log('当前播放状态:', playback); }).catch((err) => { console.error('获取当前播放状态错误:', err); });
如果用户正在播放一首歌曲,则播放状态将包含以下信息:
-- -------------------- ---- ------- - ------------- ----- -------------- ------ ------- - -------- - ------------- -------- ---------- - - ---------------- - ---------- -------------------------------------------------------- -- ------- ------------------------------------------------------------ ----- ------------------------- ------- ------ ------ ------- --------- ------ --------------------------------------- - -- ---------------- - ---------- ------------------------------------------------------- -- ------- ----------------------------------------------------------- ----- ------------------------- --------- - - --------- ---- ------ ------------------------------------------------------------------- -------- --- -- - --------- ---- ------ ------------------------------------------------------------------- -------- --- -- - --------- --- ------ ------------------------------------------------------------------- -------- -- - -- ------- ------ ------- -------- ---------- --------------- ------------- ------------------------- ------ --------------- --- ------- -------- ------ -------------------------------------- -- ---------- - - ---------------- - ---------- -------------------------------------------------------- -- ------- ------------------------------------------------------------ ----- ------------------------- ------- ------ ------ ------- --------- ------ --------------------------------------- - -- -------------- -- -------------- ------- ----------- ------ --------------- - ------- -------------- -- ---------------- - ---------- ------------------------------------------------------- -- ------- ----------------------------------------------------------- ----- ------------------------- ----------- ------ -------------- ----- ------- --------- ----- ------------- --- -------------- -------------------------------------------------------------------------------------------------------------- --------------- -- ------- -------- ------ -------------------------------------- -- --------- - ----- ------------------------------------------- ------------ ----- --------------------- ------ ---------------- ------ ------- ---- ------ ---------- ------- ----------- ----------------- --- - -
获取用户播放历史记录
你可以使用getUserRecentlyPlayedTracks()
方法来获取用户最近播放的曲目。你可以指定你想要获取的曲目数,如下所示:
sAL.getUserRecentlyPlayedTracks(10).then((response) => { console.log('用户最近播放:', response.items); }).catch((err) => { console.error('获取用户最近播放错误:', err); });
获取当前播放曲目
你可以使用getCurrentTrack()
方法来获取当前播放的曲目,如下所示:
sAL.getCurrentTrack().then((track) => { console.log('当前曲目:', track); }).catch((err) => { console.error('获取当前曲目错误:', err); });
监听播放状态更改事件
你可以使用onPlaybackStateChanged()
方法来监听播放状态的更改,如下所示:
sAL.onPlaybackStateChanged((playback) => { console.log('播放状态更改:', playback); });
当播放状态改变时,传递给你的回调函数将包含当前的播放状态信息。
监听当前曲目更改事件
你可以使用onTrackChanged()
方法来监听当前曲目的更改,如下所示:
sAL.onTrackChanged((track) => { console.log('当前曲目更改:', track); });
当当前曲目改变时,传递给你的回调函数将包含当前的曲目信息。
登录和注销
用户可以使用login()
方法登录,如下所示:
sAL.login().then(() => { console.log('已登录'); }).catch((err) => { console.error('登录错误:', err); });
用户可以使用logout()
方法注销,如下所示:
sAL.logout().then(() => { console.log('已注销'); }).catch((err) => { console.error('注销错误:', err); });
示例代码
下面是一些使用spotify-activity-listener
的示例代码:
-- -------------------- ---- ------- ------ ----------------------- ---- ---------------------------- ------ ------------- ---- --------------------- ----- ---------- - --- ---------------- ----- --- - --- ------------------------- ----------- ----------- -------- -- -- -------------------- --------- -- -- -------------------- --- -- -------- --------------------------------------------- -- - ---------------------- ---------- -------------- -- - ---------------------------- ----- --- -- -------- --------------------------------------------------- -- - ---------------------- ---------------- -------------- -- - ---------------------------- ----- --- -- ------ ---------------------------------- -- - -------------------- ------- -------------- -- - -------------------------- ----- --- -- -------- ------------------------------------- -- - ---------------------- ---------- --- -- -------- -------------------------- -- - ---------------------- ------- --- -- -- ------------------- -- - ------------------- -------------- -- - ---------------------- ----- --- -- -- -------------------- -- - ------------------- -------------- -- - ---------------------- ----- ---
结论
spotify-activity-listener
是一款非常有用的npm包,允许开发人员在Spotify应用程序中捕获用户音乐活动。它为开发人员提供了一些有用的API,例如获取当前播放状态、获取用户播放历史记录、获取当前播放曲目等。此外,它还允许开发人员进行一些与音乐相关的操作,例如监视播放状态更改和当前曲目更改等。有了这些功能,开发人员可以轻松地开发出优秀的基于Spotify的应用程序,从而改善用户体验。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a48ccae46eb111f129