【问题标题】:How to display lyrics as per song playing in android? [closed]如何根据在android中播放的歌曲显示歌词? [关闭]
【发布时间】:2013-06-05 11:52:06
【问题描述】:

我想创建一个音乐播放器,其中 textView 显示正在播放的 MP3 歌词。歌词应与音乐同步显示。

我想知道如何获取歌词和显示文本我参考了这个example

关于如何做到这一点的任何建议?我陷入了困境。

提前致谢。

【问题讨论】:

标签: android textview android-mediaplayer


【解决方案1】:

使用以下音乐元数据库。

http://javamusictag.sourceforge.net/

您可以转到文档并查找歌词标签并关注它。 通常你会打开 mp3 文件并提取歌词标签的值。请注意,这可能在 mp3 中可用,也可能不可用。 (我建议您使用标记的 mp3 进行测试)如果信息在那里。您将能够将其提取为字符串或缓冲区。

该信息将如下所示

[00:02]Let's talk about time
[00:05]tickin away every day 

现在您只需要根据行前给出的时间显示该行。这应该很简单,只需做一些字符串操作即可。

【讨论】:

  • 这个库也适用于 android 吗?
【解决方案2】:

正如brandallthis answer 中所写,Android 中没有将音频文件转换为文本的本地方法。但是,您可以使用他在回答中建议的库(NuanceA&T 在我看来不错)。

作为替代方案,我会使用 API 来获取歌曲的歌词,例如 chartlyrics.com

现在您有了歌词,但将它们与歌曲同步非常困难。我不知道该怎么做,我会显示整个歌词让用户滚动浏览。

【讨论】:

  • 那么字幕在 Android 中是如何实现的呢?如果我们有 lrc 文件,那么有可能吗?
  • @user3726986 是的,使用 .lrc 文件相当容易。它包含您必须切换文本的时间,因此您可以将其与当前播放的视频/音频同步。
【解决方案3】:

您可以为此使用 SpeechToText

【讨论】:

  • 是的,你在写,但我无法理解如何从正在播放的歌曲中获取文本。
  • 嘿 yuva 不错的教程和示例,但我想播放歌曲和我想在 textview 中显示的那首歌的歌词。但我不知道如何获取那首正在播放的歌曲的歌词。
  • 你可以使用该代码并进行一些修改,播放歌曲。
  • 是的,我也这么想.. 但是我怎么能得到我不知道的歌曲的歌词。 :(
【解决方案4】:

我认为最好的方法是使用歌词作为字幕。如果您查看字幕文件,您会看到它具有以下格式
时间字符串
你需要一个歌词文件才能做到这一点。读入歌词文件,然后在指定时间在屏幕上显示歌词。

希望对您有所帮助。

【讨论】:

  • 我无法理解你想给我的建议。你能用例子解释一下吗?谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多