npm 包 spotify-activity-listener 使用教程

阅读时长 12 分钟读完

简介

spotify-activity-listener是一个npm包,可以用于获取用户在Spotify应用中的音乐活动。

该包能够获取用户当前正在播放的歌曲、曲目信息、当前播放状态、用户播放历史记录等信息。它是一个轻量级的包,仅依赖于spotify-web-api-js库。

安装

可以使用npm来安装这个包,在命令行中输入以下命令:

如何使用

首先,你需要在https://developer.spotify.com/dashboard/注册你的应用程序,这将确保你可以访问你需要的API密钥和授权令牌。

接下来,你需要创建一个SpotifyActivityListener实例,如下所示:

-- -------------------- ---- -------
------ ----------------------- ---- ----------------------------
------ ------------- ---- ---------------------

----- ---------- - --- ----------------
----- --- - --- -------------------------
    ----------- -----------
    -------- -- -- --------------------
    --------- -- -- --------------------
---

使用SpotifyWebApi创建了一个Spotify API对象,然后传递它到SpotifyActivityListener的构造函数中,以便在内部获取OAuth授权的令牌。

onLoginonLogout是可选的回调函数,用于在登录和注销事件发生时执行相关操作。

获取当前播放状态

你可以使用getCurrentPlaybackState()方法来获取当前的播放状态:

如果用户正在播放一首歌曲,则播放状态将包含以下信息:

-- -------------------- ---- -------
-
    ------------- -----
    -------------- ------
    ------- -
        -------- -
            ------------- --------
            ---------- -
                -
                    ---------------- -
                        ---------- --------------------------------------------------------
                    --
                    ------- ------------------------------------------------------------
                    ----- -------------------------
                    ------- ------ ------
                    ------- ---------
                    ------ ---------------------------------------
                -
            --
            ---------------- -
                ---------- -------------------------------------------------------
            --
            ------- -----------------------------------------------------------
            ----- -------------------------
            --------- -
                -
                    --------- ----
                    ------ -------------------------------------------------------------------
                    -------- ---
                --
                -
                    --------- ----
                    ------ -------------------------------------------------------------------
                    -------- ---
                --
                -
                    --------- ---
                    ------ -------------------------------------------------------------------
                    -------- --
                -
            --
            ------- ------ ------- -------- ----------
            --------------- -------------
            ------------------------- ------
            --------------- ---
            ------- --------
            ------ --------------------------------------
        --
        ---------- -
            -
                ---------------- -
                    ---------- --------------------------------------------------------
                --
                ------- ------------------------------------------------------------
                ----- -------------------------
                ------- ------ ------
                ------- ---------
                ------ ---------------------------------------
            -
        --
        -------------- --
        -------------- -------
        ----------- ------
        --------------- -
            ------- --------------
        --
        ---------------- -
            ---------- -------------------------------------------------------
        --
        ------- -----------------------------------------------------------
        ----- -------------------------
        ----------- ------
        -------------- -----
        ------- --------- -----
        ------------- ---
        -------------- --------------------------------------------------------------------------------------------------------------
        --------------- --
        ------- --------
        ------ --------------------------------------
    --
    --------- -
        ----- -------------------------------------------
        ------------ -----
        --------------------- ------
        ---------------- ------
        ------- ---- ------ ----------
        ------- -----------
        ----------------- ---
    -
-

获取用户播放历史记录

你可以使用getUserRecentlyPlayedTracks()方法来获取用户最近播放的曲目。你可以指定你想要获取的曲目数,如下所示:

获取当前播放曲目

你可以使用getCurrentTrack()方法来获取当前播放的曲目,如下所示:

监听播放状态更改事件

你可以使用onPlaybackStateChanged()方法来监听播放状态的更改,如下所示:

当播放状态改变时,传递给你的回调函数将包含当前的播放状态信息。

监听当前曲目更改事件

你可以使用onTrackChanged()方法来监听当前曲目的更改,如下所示:

当当前曲目改变时,传递给你的回调函数将包含当前的曲目信息。

登录和注销

用户可以使用login()方法登录,如下所示:

用户可以使用logout()方法注销,如下所示:

示例代码

下面是一些使用spotify-activity-listener的示例代码:

-- -------------------- ---- -------
------ ----------------------- ---- ----------------------------
------ ------------- ---- ---------------------

----- ---------- - --- ----------------
----- --- - --- -------------------------
    ----------- -----------
    -------- -- -- --------------------
    --------- -- -- --------------------
---

-- --------
--------------------------------------------- -- -
    ---------------------- ----------
-------------- -- -
    ---------------------------- -----
---

-- --------
--------------------------------------------------- -- -
    ---------------------- ----------------
-------------- -- -
    ---------------------------- -----
---

-- ------
---------------------------------- -- -
    -------------------- -------
-------------- -- -
    -------------------------- -----
---

-- --------
------------------------------------- -- -
    ---------------------- ----------
---

-- --------
-------------------------- -- -
    ---------------------- -------
---

-- --
------------------- -- -
    -------------------
-------------- -- -
    ---------------------- -----
---

-- --
-------------------- -- -
    -------------------
-------------- -- -
    ---------------------- -----
---

结论

spotify-activity-listener是一款非常有用的npm包,允许开发人员在Spotify应用程序中捕获用户音乐活动。它为开发人员提供了一些有用的API,例如获取当前播放状态、获取用户播放历史记录、获取当前播放曲目等。此外,它还允许开发人员进行一些与音乐相关的操作,例如监视播放状态更改和当前曲目更改等。有了这些功能,开发人员可以轻松地开发出优秀的基于Spotify的应用程序,从而改善用户体验。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a48ccae46eb111f129

纠错
反馈