在前端开发中,网络音乐播放器是一种常见的需求,而网易云音乐自然也是非常受欢迎的音乐平台之一。为了方便开发人员使用网易云音乐的 API,社区中出现了许多封装好的 npm 包,其中 netease-cloud-music 就是其中一种,本文将介绍如何使用它。
安装
你可以通过 npm 直接安装 netease-cloud-music,方法如下:
npm install --save netease-cloud-music
安装好之后,通过 require 或 import 的方式即可引入:
const NeteaseCloudMusicApi = require('netease-cloud-music'); // 或者 import NeteaseCloudMusicApi from 'netease-cloud-music';
现在,你已经成功引入 netease-cloud-music,接下来让我们看看如何具体使用它。
登录
虽然可以直接访问网易云音乐的 API,但是很多操作需要登录才能进行,因此,首先我们需要登录。
使用 netease-cloud-music,我们可以通过如下方式进行登录:
const api = new NeteaseCloudMusicApi(); api.loginByPhone('your_phone', 'your_password') .then(res => { console.log(res); }) .catch(err => { console.log(err); });
这里我们使用了 loginByPhone 进行登录,可以看出,我们需要提供手机号和密码。当登录成功后,会返回如下格式的数据:
{ binding: [], cookie: "", profile: {}, token: "", account: {}, bindings: [] }
其中 profile 是用户个人资料,account 是用户账户信息。
搜索音乐
登录后,我们就可以使用搜索功能了。使用 search 函数进行搜索,方法如下:
api.search('周杰伦') .then(res => { console.log(res); }) .catch(err => { console.log(err); });
search 函数返回的是一个 Promise,其中可以提供搜索的关键字,搜索结果会返回如下格式的数据:
-- -------------------- ---- ------- - ------- - - --- ----------- ----- ----- -------- - - --- ----- ----- ----- - - -- --- - -
其中,result 数组中的每个元素都代表了一首歌,包含了歌曲的 id、歌曲名和演唱者信息等。
获取歌词
我们也可以通过 netease-cloud-music 获取歌曲的歌词。方法如下:
api.getLyric(1426285168) .then(res => { console.log(res); }) .catch(err => { console.log(err); });
getLyric 函数返回的是一个 Promise,其中提供的是歌曲的 id,可以获取到歌曲的歌词,返回的格式如下:
{ lyric: "[00:00.000] 作曲 : 周杰伦\n[00:01.000] 作词 : 方文山\n[00:29.24]" }
需要注意的是,由于版权问题,有些歌曲是没有歌词的。
获取歌曲 URL
最后,我们也可以使用 netease-cloud-music 获取播放歌曲的 URL。方法如下:
api.getSongUrl(1426285168) .then(res => { console.log(res); }) .catch(err => { console.log(err); });
getSongUrl 函数也返回的是一个 Promise,其中提供的是歌曲的 id,可以获取到歌曲的 URL,返回的格式如下:
{ data: [ { id: 1426285168, url: "http://m801.music.126.net/20220620210637/b06d67fe4980505e5f5aa5e765ae759d/jdyyaac/obj/w5rDlsOJwrLDjj7CmsOj/7567207514/9bb2/709a/fa0d/0800acb07c525636eeb1ed0f3bc4a4db.m4a" } ] }
在获取到歌曲的 URL 后,我们就可以通过 audio 标签进行播放了。
总结
本文介绍了使用 netease-cloud-music 进行登录、搜索、获取歌词和获取歌曲 URL 等操作的方法。使用 netease-cloud-music,我们可以在前端应用中方便地使用网易云音乐的 API,为实现音乐播放功能提供了便利。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d2581e8991b448dadd5