Skip to content

网易云音乐歌词显示 - #13

Open
1231joe1231 wants to merge 7 commits into
charlottejas:v1.4.0from
1231joe1231:v1.4.0
Open

网易云音乐歌词显示#13
1231joe1231 wants to merge 7 commits into
charlottejas:v1.4.0from
1231joe1231:v1.4.0

Conversation

@1231joe1231

@1231joe1231 1231joe1231 commented Dec 15, 2025

Copy link
Copy Markdown

你好,你做的这个app非常好用,我为了歌词显示从网易云转到qq音乐 奈何曲库还是不能比
最近休假 我也有一些coding基础 就基于1.4.0版本 fork了一下 实现了网易云音乐的歌词显示
由于网易云没有把歌词在metadata中暴露出来 我在车机端添加了一个api工具 从网易云api根据歌曲的id获取歌词 加密参数和方法参考了其他开源项目:https://github.com/jitwxs/163MusicLyrics
同时还实现了以下feature:

  • 播放纯音乐时自动切换回歌名专辑模式 直到下一首歌再切换回歌词模式(如果用户在手机端开启了自动开启歌词)
  • 播放日语歌曲时 同时显示翻译歌词和原文歌词 中文和英文歌词不受影响 为现在的歌词和下一句歌词
image - 在车机端也可以选择显示的APP了 类似AnyAutoAudio image

如果pull request不方便的话 我也可以打包之后release在我自己的repo里 在readme里面加个链接就行
再次感谢!

ychen022 added a commit to ychen022/NuomiPlayer that referenced this pull request Jul 5, 2026
…ttejas#13)

Incorporates the translated-lyric feature from charlottejas#13
(by 1231joe1231) into the fork's shared module:

- Add NcmLyricsHelper: fetches both the original lyric (lrc) and its
  translation (tlyric) from NetEase's encrypted weapi endpoint, replacing the
  simpler LyricFetcher (which only returned the original). LyricFetcher removed.
- MyMusicService: when a NetEase song has a translation and the current line is
  not Chinese/English (i.e. contains Japanese kana), show the translation as the
  title and the original line as the subtitle simultaneously; otherwise keep the
  existing current-line + next-line display. Adds parseTranslation(),
  getTranslationAt(), isChineseOrEnglish(), and resets translation state on song
  and source changes.

Only the numeric song id is sent, only to music.163.com (no new hosts vs. the
prior NetEase lyric fetch). Validated: javalang parse + review for fidelity.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
ychen022 added a commit to ychen022/NuomiPlayer that referenced this pull request Jul 5, 2026
- Rebuild 糯米播放器2.0-fixed.apk to include upstream PR charlottejas#13's simultaneous
  translated-lyric display, on top of the earlier startup fixes. The translation
  logic (weapi fetch of tlyric, LRC parse, Japanese-kana detection, time lookup)
  is compiled into a new com.nuomi.shared.NcmTranslationHelper injected as an
  extra classes3.dex; MyMusicService.smali is minimally edited to trigger the
  fetch and, when the current NetEase line is Japanese, show the translation as
  the title and the original as the subtitle. Original resources kept byte-for-
  byte (built by DEX swap, not apktool resource repackaging).
- NcmLyricsHelper: request translation explicitly with tv=-1.

Verified on device (CPH2583): installs, launches, MyMusicService loads/verifies
and initializes (MirrorSession registered, autoLyrics read) with no VerifyError
or crash. Debug-signed (same key as the prior build, so it updates in place).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant