如何使用 Python 播放 Spotify 音频

在本教程中,我们将一起探讨如何使用 Python 来播放 Spotify 的音频。

Spotify 是全球最大的音乐流媒体服务提供商之一。在这里,我们将通过 Spotipy 来访问 Spotify,这是一个轻量级的 Python 库,专门用于 Spotify Web API。通过它,我们可以完全访问 Spotify 平台提供的所有音乐数据,甚至可以获取专辑数据、播放列表和歌曲等内容。那么,让我们来看看如何利用 Spotipy 库来实现这一目标吧。

必需的安装包

pip install spotipy

设置 Spotify 应用程序

步骤 1: 创建一个账户或登录您的 Spotify 开发者账户点击这里

!image

步骤 2: 创建一个 App。

!image

步骤 3: 控制台面板将被打开。现在,请保存您的Client IdClient Secret,稍后我们在程序中会用到这些信息。

!image

步骤 4: 点击“EDIT SETTING”按钮,并按如下方式添加重定向 URI (Redirect URIs)。

http://google.com/callback/

!image

步骤 5: 点击“add”并保存更改。

分步实现指南

步骤 1: 首先,让我们按照以下步骤设置虚拟环境。

  • 为本项目创建一个文件夹。
  • 打开命令提示符,并将路径切换到刚才创建的文件夹。
  • 使用下面的命令为我们的项目运行设置一个虚拟环境。
python -m venv .env
  • 使用下面的命令来激活虚拟环境。
.env\Scripts\activate

步骤 2:

在这一步,我们将导入 Spotify 库。我们还需要导入 webbrowser(网页浏览器)模块,以便在完成身份验证后,我们可以通过浏览器重定向到指定的 URL。此外,导入 JSON 是为了接收来自浏览器的响应,因为响应数据是以 JSON 代码格式返回的。

Python3


CODEBLOCK_ece8900c

步骤 3:

在这一步中,我们需要添加所需的凭据。请在这里填入您在步骤 3 中记录的 YourClientIdYourClientSecret点击这里 查看您的用户名,并将其替换到 Your_Username 的位置。

Python3


CODEBLOCK_a9d59fe3

步骤 4:

接下来的代码行将用于验证我们的信息,并授予对我们 Spotify 账户的访问权限。

  • oauth_object 是我们创建的一个对象,用于从已安装的 Spotify 库中访问 SpotifyOAuth 函数。在这里,我们传入 clientID、clientSecret 和 redirect URI。该函数会检查这些凭据是否有效。
  • token_dict 用于获取令牌,作为我们拥有 Spotify 授权访问的证明。
  • spotipy.Spotify(auth=token) 这是实际授权令牌的关键步骤。
  • user = spotifyObject.current_user(),这一行代码用于获取用户的详细信息并整合起来。
  • 这些用户信息用于检索浏览器发送到我们系统的 JSON 响应。这里的 print 语句用于打印这个 JSON 响应,以便我们阅读。

Python3


CODEBLOCK_357af746

步骤 5:

在这一步,我们将创建一个用户功能循环。

  • 当输入 1 时,系统会提示输入要搜索的歌曲名称,并播放该歌曲。
  • 当输入 0 时,程序将退出。

Python3


while True:

print("Welcome to the project, " + username[‘displayname‘])

print("0 – Exit the console")

print("1 – Search for a Song")

user_input = int(input("Enter Your Choice: "))

if user_input == 1:

search_song = input("Enter the song name: ")

results = spotifyObject.search(search_song, 1, 0, "track")

songs_dict = results[‘tracks‘]

songitems = songsdict[‘items‘]

song = songitems[0][‘externalurls‘][‘spotify‘]

webbrowser.open(song)

print(‘Song has opened in your browser.‘)

elif user_input == 0:

print("Good Bye, Have a great day!")

break

else:

print("Please enter val

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/43614.html
点赞
0.00 平均评分 (0% 分数) - 0