概述
在本文档中,你将学习如何在一个React项目中使用AMLL核心组件。
快速入门文档仅包含使用AMLL的核心功能的教程。部分其他功能需要依赖bncm包。
目前,AMLL仅提供了对core的React绑定,AMLL的其他组件并未包含在内,你可以在bncm中找到它们。未来,AMLL将提供包含AMLL播放页面其他组件的react-full。
准备工作
1.创建一个React项目
React项目可以使用多种方式创建。本文档将使用与MDN React教程相同的create-react-app + jsx来作为示例。
你可以参考MDN React教程创建一个React项目。并使用例如Visual Studio Code等开发软件打开你的项目。
2.使用包管理软件安装AMLL
安装AMLL使用的需要的依赖(如果以下列出的依赖包没有安装的话需要自行安装):
安装 React 绑定需要使用的依赖(如果以下列出的依赖包没有安装的话需要自行安装):
安装本体框架:
现在,你已经具备在React中使用AMLL的必要条件
开始使用
1.在React项目中使用AMLL Lyric Player
Lyric Player是AMLL的核心组件之一,提供歌词的显示功能。
通过import { LyricPlayer } from "@applemusic-like-lyrics/react";
你可以将AMLL的Lyric Player导入到你的React项目中。
随后AMLL Lyric Player的React组件<LyricPlayer />
便可以使用。
下面是一段示例。
但是现在,AMLL Lyric Player还不会显示任何信息。你需要按照你的需要使用React的Props来为<LyricPlayer />
赋值,同时根据歌曲的播放逐帧调用AMLL Lyric Player才能显示歌词。
现在,我们对代码稍做修改,使其满足我们的要求。
现在,我们创建了一个<audio>
元素,id为amll-audio,用以播放歌曲。使用React中的useState来设置AMLL Lyric Player的当前播放时间。
定义一个frame函数,通过requestAnimationFrame();
来逐帧调用。利用setCurrentTime();
跟随音乐的播放来设置AMLL Lyric Player的时间,从而使AMLL Lyric Player进行歌词的演出。
我们还差最后一步:lyricLines的设置。lyricLines需要处理好的TTML歌词。AMLL提供了TTML歌词的处理程序,即parseTTML
。我们需要通过import { parseTTML } from '@applemusic-like-lyrics/core';
来导入。利用parseTTML();
处理歌词,并将处理好的歌词通过setLyricLines赋值给AMLL Lyric Player。
注意:目前main分支的AMLL无法使用此方法导入parseTTML,你需要从dev分支下packages/core/src/lyric/ttml.ts导入。
标准的使用方法应为从@applemusic-like-lyrics/ttml导入而不是/core。
2.在React项目中使用BackgroundRender
BackgroundRender是AMLL的另一个核心组件。提供了歌曲播放背景显示的功能。
在本教程中,为了简洁易懂,将以BackgroundRender中的EplorRenderer(真流体背景)作为示例。
在最新的dev分支中,EplorRenderer也为默认的BackgroundRender
我们需要通过
来导入BackgroundRender与EplorRenderer。
我们将第三部分中的代码作为示例进行修改。
通过使用<BackgroundRender />
组件,并使用其Props进行设置,我们可以得到动态背景。
将专辑图的url传入albumImageUrl
,并选择EplorRenderer
为renderer
,渲染器会自动处理图片,生成精美的动态背景。
结语
我们在本章中学习了如何快速入门AMLL。希望能帮助你更轻松地进行AMLL相关的开发。