san-lyric
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

san-lyric

 npm install san-lyric --save

1. Methods(方法)

getScreenFps ----> 获取屏幕刷新率

App.tsx 中调用获取 fps 并进行保存,方便后续调用。

getScreenFps?.().then((fps: number) => {
  console.log("当前屏幕刷新率为", fps);
  // todo code
});

2. Components(组件)

Lyric ----> 歌词显示组件

展示歌词的组件

Props

Name Desc Type Default Required
lyrics 歌词数据 a LyricItemType[] [] true
currentTime 歌曲播放当前进度 ms毫秒级 number 0 true
duration 歌曲总时长 ms毫秒级 number 0 true
fps 屏幕刷新率 number 0 true
color 文本颜色 Color false
selectColor 播放时文本颜色 Color false
selectBgColor 播放时文本背景颜色 Color false

3. Hooks

useLyricData (格式化歌词)

需要传递原文歌词和译文歌词

Name Desc Type Default Required
lyric 原文歌词 string true
t_lyric 译文歌词 string true

4. Type(类型)

LyricItemType

Name Desc Type Default Required
lyric 原文歌词 string true
t_lyric 译文歌词 string true
time 展示当前歌词的时间 number 0 true

Example ( React )

const BaseLyric = memo(({ id, currentTime, duration }: IBaseLyricProps) => {
  // const { data, runAsync } = useRequest(getLyricData, {
  //   manual: true,
  // });

  const lyricData = useLyricData(
    data?.lrc.lyric ?? "",
    data?.romalrc.lyric ?? ""
  );
  useAsyncEffect(async () => {
    if (id !== "") {
      await runAsync(id);
    }
  }, [id]);

  return (
    <div className="lyric-container">
      <Lyric
        lyrics={lyricData ?? []}
        currentTime={currentTime}
        duration={duration}
        fps={60}
      />
    </div>
  );
});

Package Sidebar

Install

npm i san-lyric

Weekly Downloads

0

Version

0.2.0

License

ISC

Unpacked Size

10.8 kB

Total Files

15

Last publish

Collaborators

  • sanphantom