4

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

我想知道如何获取歌词并显示我参考此示例的文本。

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

提前致谢。

4

4 回答 4

7

使用以下音乐元数据库。

http://javamusictag.sourceforge.net/

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

该信息将如下所示

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

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

于 2014-10-22T07:31:53.767 回答
2

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

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

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

于 2014-10-16T08:53:41.967 回答
1

您可以为此使用 SpeechToText

于 2013-06-05T11:55:31.907 回答
1

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

希望对您有所帮助。

于 2013-06-05T12:01:12.897 回答